diff --git a/doc/sf_and_dist/distributions/bernoulli.qbk b/doc/sf_and_dist/distributions/bernoulli.qbk index 17200fb41..d22af07a1 100644 --- a/doc/sf_and_dist/distributions/bernoulli.qbk +++ b/doc/sf_and_dist/distributions/bernoulli.qbk @@ -42,11 +42,11 @@ 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: -[$../graphs/bernoulli_pdf.png] +[graph bernoulli_pdf] and the [@http://en.wikipedia.org/wiki/Cumulative_Distribution_Function Cumulative distribution function] -[$../graphs/bernoulli_cdf.png] +[graph bernoulli_cdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/beta.qbk b/doc/sf_and_dist/distributions/beta.qbk index 6686ea73c..3a88f925b 100644 --- a/doc/sf_and_dist/distributions/beta.qbk +++ b/doc/sf_and_dist/distributions/beta.qbk @@ -84,7 +84,7 @@ of the shape parameters. Note the [alpha] = [beta] = 2 (blue line) is dome-shaped, and might be approximated by a symmetrical triangular distribution. -[$../graphs/beta_dist.png] +[graph beta_pdf] If [alpha] = [beta] = 1, then it is a __space [@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 uniform distribution], diff --git a/doc/sf_and_dist/distributions/binomial.qbk b/doc/sf_and_dist/distributions/binomial.qbk index cad52611d..d790e1708 100644 --- a/doc/sf_and_dist/distributions/binomial.qbk +++ b/doc/sf_and_dist/distributions/binomial.qbk @@ -76,12 +76,12 @@ 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: -[$../graphs/binomial_pdf_1.png] +[graph binomial_pdf_1] Alternatively, we can keep the sample size fixed at N=20 and vary the success fraction /p/: -[$../graphs/binomial_pdf_2.png] +[graph binomial_pdf_2] [discrete_quantile_warning Binomial] diff --git a/doc/sf_and_dist/distributions/cauchy.qbk b/doc/sf_and_dist/distributions/cauchy.qbk index 34ff68dd1..f56fcbea0 100644 --- a/doc/sf_and_dist/distributions/cauchy.qbk +++ b/doc/sf_and_dist/distributions/cauchy.qbk @@ -44,12 +44,12 @@ of spectral lines. The following graph shows how the distributions moves as the location parameter changes: -[$../graphs/cauchy1.png] +[graph cauchy_pdf1] While the following graph shows how the shape (scale) parameter alters the distribution: -[$../graphs/cauchy2.png] +[graph cauchy_pdf2] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/chi_squared.qbk b/doc/sf_and_dist/distributions/chi_squared.qbk index abc8ec8cd..ed4f208a9 100644 --- a/doc/sf_and_dist/distributions/chi_squared.qbk +++ b/doc/sf_and_dist/distributions/chi_squared.qbk @@ -49,7 +49,7 @@ 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]: -[$../graphs/chi_square.png] +[graph chi_squared_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/exponential.qbk b/doc/sf_and_dist/distributions/exponential.qbk index 121f2802b..17d923a90 100644 --- a/doc/sf_and_dist/distributions/exponential.qbk +++ b/doc/sf_and_dist/distributions/exponential.qbk @@ -33,7 +33,7 @@ events that happen at a constant average rate. The following graph shows how the distribution changes for different values of the rate parameter lambda: -[$../graphs/exponential_dist.png] +[graph exponential_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/extreme_value.qbk b/doc/sf_and_dist/distributions/extreme_value.qbk index 2225e9449..5e81eb51e 100644 --- a/doc/sf_and_dist/distributions/extreme_value.qbk +++ b/doc/sf_and_dist/distributions/extreme_value.qbk @@ -51,11 +51,11 @@ f(x) = e[super -x]e[super -e[super -x]] The following graph illustrates how the PDF varies with the location parameter: -[$../graphs/extreme_val_dist.png] +[graph extreme_value_pdf1] And this graph illustrates how the PDF varies with the shape parameter: -[$../graphs/extreme_val_dist2.png] +[graph extreme_value_pdf2] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/fisher.qbk b/doc/sf_and_dist/distributions/fisher.qbk index 7887e2f94..3a4905ca4 100644 --- a/doc/sf_and_dist/distributions/fisher.qbk +++ b/doc/sf_and_dist/distributions/fisher.qbk @@ -41,7 +41,7 @@ has the PDF: The following graph illustrates how the PDF varies depending on the two degrees of freedom parameters. -[$../graphs/fisher_f.png] +[graph fisher_f_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/gamma.qbk b/doc/sf_and_dist/distributions/gamma.qbk index 1bc233351..9a84c7cb6 100644 --- a/doc/sf_and_dist/distributions/gamma.qbk +++ b/doc/sf_and_dist/distributions/gamma.qbk @@ -61,9 +61,9 @@ 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: -[$../graphs/gamma_dist1.png] +[graph gamma1_pdf] -[$../graphs/gamma_dist2.png] +[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 diff --git a/doc/sf_and_dist/distributions/lognormal.qbk b/doc/sf_and_dist/distributions/lognormal.qbk index 33ac076d6..621da172a 100644 --- a/doc/sf_and_dist/distributions/lognormal.qbk +++ b/doc/sf_and_dist/distributions/lognormal.qbk @@ -43,11 +43,11 @@ parameter on the PDF, note that the range of the random variable remains \[0,+[infin]\] irrespective of the value of the location parameter: -[$../graphs/lognormal1.png] +[graph lognormal_pdf1] The next graph illustrates the effect of the scale parameter on the PDF: -[$../graphs/lognormal2.png] +[graph lognormal_pdf2] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/nc_beta.qbk b/doc/sf_and_dist/distributions/nc_beta.qbk index 6b3b2a704..6f973fb5c 100644 --- a/doc/sf_and_dist/distributions/nc_beta.qbk +++ b/doc/sf_and_dist/distributions/nc_beta.qbk @@ -54,7 +54,7 @@ as: The following graph illustrates how the distribution changes for different values of [lambda]: -[$../graphs/nc_beta_pdf.png] +[graph nc_beta_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/nc_chi_squared.qbk b/doc/sf_and_dist/distributions/nc_chi_squared.qbk index a1d1e1544..ddf57769a 100644 --- a/doc/sf_and_dist/distributions/nc_chi_squared.qbk +++ b/doc/sf_and_dist/distributions/nc_chi_squared.qbk @@ -66,7 +66,7 @@ where ['f(x;k)] is the central chi-squared distribution PDF, and The following graph illustrates how the distribution changes for different values of [lambda]: -[$../graphs/nccs_pdf.png] +[graph nccs_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/nc_f.qbk b/doc/sf_and_dist/distributions/nc_f.qbk index 76791ff65..48682b5fd 100644 --- a/doc/sf_and_dist/distributions/nc_f.qbk +++ b/doc/sf_and_dist/distributions/nc_f.qbk @@ -51,7 +51,7 @@ __beta function, or The following graph illustrates how the distribution changes for different values of [lambda]: -[$../graphs/nc_f_pdf.png] +[graph nc_f_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/nc_t.qbk b/doc/sf_and_dist/distributions/nc_t.qbk index bc1c891e4..b437e1d2b 100644 --- a/doc/sf_and_dist/distributions/nc_t.qbk +++ b/doc/sf_and_dist/distributions/nc_t.qbk @@ -47,7 +47,7 @@ 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]: -[$../graphs/nc_t_pdf.png] +[graph nc_t_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/negative_binomial.qbk b/doc/sf_and_dist/distributions/negative_binomial.qbk index de27bbe7b..5377a4bcd 100644 --- a/doc/sf_and_dist/distributions/negative_binomial.qbk +++ b/doc/sf_and_dist/distributions/negative_binomial.qbk @@ -72,12 +72,12 @@ It has the PDF: The following graph illustrate how the PDF varies as the success fraction /p/ changes: -[$../graphs/neg_binomial_pdf1.png] +[graph negative_binomial_pdf_1] Alternatively, this graph shows how the shape of the PDF varies as the number of successes changes: -[$../graphs/neg_binomial_pdf2.png] +[graph negative_binomial_pdf_2] [h4 Related Distributions] diff --git a/doc/sf_and_dist/distributions/normal.qbk b/doc/sf_and_dist/distributions/normal.qbk index 1b057dd44..b33b5517b 100644 --- a/doc/sf_and_dist/distributions/normal.qbk +++ b/doc/sf_and_dist/distributions/normal.qbk @@ -40,7 +40,7 @@ Given mean [mu][space] and standard deviation [sigma][space] it has the PDF: The variation the PDF with its parameters is illustrated in the following graph: -[$../graphs/normal.png] +[graph normal_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/pareto.qbk b/doc/sf_and_dist/distributions/pareto.qbk index 040b3c622..82de7fc0e 100644 --- a/doc/sf_and_dist/distributions/pareto.qbk +++ b/doc/sf_and_dist/distributions/pareto.qbk @@ -37,11 +37,14 @@ 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 shape parameter [alpha]: +The following graph illustrates how the PDF varies with the location parameter [beta]: + +[graph pareto_pdf1] + +And this graph illustrates how the PDF varies with the shape parameter [alpha]: + +[graph pareto_pdf2] -[/$../graphs/paretoShape.png] -[/ TODO produce a graph as png or svg] -[@http://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Pareto_distributionPDF.png/325px-Pareto_distributionPDF.png Pareto pdf] [h4 Related distributions] diff --git a/doc/sf_and_dist/distributions/poisson.qbk b/doc/sf_and_dist/distributions/poisson.qbk index e65638a97..4e63eef98 100644 --- a/doc/sf_and_dist/distributions/poisson.qbk +++ b/doc/sf_and_dist/distributions/poisson.qbk @@ -41,7 +41,7 @@ for k events, with an expected number of events [lambda]. The following graph illustrates how the PDF varies with the parameter [lambda]: -[$../graphs/poisson.png] +[graph poisson_pdf_1] [discrete_quantile_warning Poisson] diff --git a/doc/sf_and_dist/distributions/rayleigh.qbk b/doc/sf_and_dist/distributions/rayleigh.qbk index 8fa768406..b4e79d700 100644 --- a/doc/sf_and_dist/distributions/rayleigh.qbk +++ b/doc/sf_and_dist/distributions/rayleigh.qbk @@ -40,11 +40,11 @@ or real and imaginary components may have absolute values that are Rayleigh dist The following graph illustrates how the Probability density Function(pdf) varies with the shape parameter [sigma]: -[$../graphs/rayleigh_pdf.png] +[graph rayleigh_pdf] and the Cumulative Distribution Function (cdf) -[$../graphs/rayleigh_cdf.png] +[graph rayleigh_cdf] [h4 Related distributions] diff --git a/doc/sf_and_dist/distributions/students_t.qbk b/doc/sf_and_dist/distributions/students_t.qbk index 25fcdf384..5a6b61032 100644 --- a/doc/sf_and_dist/distributions/students_t.qbk +++ b/doc/sf_and_dist/distributions/students_t.qbk @@ -55,7 +55,7 @@ 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]: -[$../graphs/students_t.png] +[graph students_t_pdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/triangular.qbk b/doc/sf_and_dist/distributions/triangular.qbk index eb04ee5a3..4b237f990 100644 --- a/doc/sf_and_dist/distributions/triangular.qbk +++ b/doc/sf_and_dist/distributions/triangular.qbk @@ -72,11 +72,11 @@ The following graph illustrates how the [@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF] varies with the various parameters: -[$../graphs/triangular_pdf.png] +[graph triangular_pdf] and cumulative distribution function -[$../graphs/triangular_cdf.png] +[graph triangular_cdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/uniform.qbk b/doc/sf_and_dist/distributions/uniform.qbk index 098a8d150..5eb664802 100644 --- a/doc/sf_and_dist/distributions/uniform.qbk +++ b/doc/sf_and_dist/distributions/uniform.qbk @@ -61,11 +61,11 @@ The following graph illustrates how the [@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF] varies with the shape parameter: -[$../graphs/uniform_pdf.png] +[graph uniform_pdf] Likewise for the CDF: -[$../graphs/uniform_cdf.png] +[graph uniform_cdf] [h4 Member Functions] diff --git a/doc/sf_and_dist/distributions/weibull.qbk b/doc/sf_and_dist/distributions/weibull.qbk index 9530f7534..b0ed6680d 100644 --- a/doc/sf_and_dist/distributions/weibull.qbk +++ b/doc/sf_and_dist/distributions/weibull.qbk @@ -45,11 +45,11 @@ If the failure rate is: The following graph illustrates how the PDF varies with the shape parameter [alpha]: -[$../graphs/weibull.png] +[graph weibull_pdf1] While this graph illustrates how the PDF varies with the scale parameter [beta]: -[$../graphs/weibull2.png] +[graph weibull_pdf2] [h4 Related distributions] diff --git a/doc/sf_and_dist/graphs/acosh.png b/doc/sf_and_dist/graphs/acosh.png new file mode 100644 index 000000000..0c0cab765 Binary files /dev/null and b/doc/sf_and_dist/graphs/acosh.png differ diff --git a/doc/sf_and_dist/graphs/asinh.png b/doc/sf_and_dist/graphs/asinh.png new file mode 100644 index 000000000..ad1571862 Binary files /dev/null and b/doc/sf_and_dist/graphs/asinh.png differ diff --git a/doc/sf_and_dist/graphs/atanh.png b/doc/sf_and_dist/graphs/atanh.png new file mode 100644 index 000000000..0beae9b85 Binary files /dev/null and b/doc/sf_and_dist/graphs/atanh.png differ diff --git a/doc/sf_and_dist/graphs/bernoulli_cdf.png b/doc/sf_and_dist/graphs/bernoulli_cdf.png index 8643e136d..7bafa601f 100644 Binary files a/doc/sf_and_dist/graphs/bernoulli_cdf.png and b/doc/sf_and_dist/graphs/bernoulli_cdf.png differ diff --git a/doc/sf_and_dist/graphs/bernoulli_cdf.svg b/doc/sf_and_dist/graphs/bernoulli_cdf.svg new file mode 100644 index 000000000..d1c6406c9 --- /dev/null +++ b/doc/sf_and_dist/graphs/bernoulli_cdf.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +0 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +1.1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +p=0.25 +p=0.5 +p=0.75 + +Bernoulli Distribution CDF + diff --git a/doc/sf_and_dist/graphs/bernoulli_pdf.png b/doc/sf_and_dist/graphs/bernoulli_pdf.png index cb7093eeb..c935109dd 100644 Binary files a/doc/sf_and_dist/graphs/bernoulli_pdf.png and b/doc/sf_and_dist/graphs/bernoulli_pdf.png differ diff --git a/doc/sf_and_dist/graphs/bernoulli_pdf.svg b/doc/sf_and_dist/graphs/bernoulli_pdf.svg new file mode 100644 index 000000000..6abe74a19 --- /dev/null +++ b/doc/sf_and_dist/graphs/bernoulli_pdf.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +0 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +p=0.25 +p=0.5 +p=0.75 + +Bernoulli Distribution PDF + diff --git a/doc/sf_and_dist/graphs/beta.png b/doc/sf_and_dist/graphs/beta.png index 803348814..b03448831 100644 Binary files a/doc/sf_and_dist/graphs/beta.png and b/doc/sf_and_dist/graphs/beta.png differ diff --git a/doc/sf_and_dist/graphs/beta_pdf.png b/doc/sf_and_dist/graphs/beta_pdf.png index 024b7ffe5..a2271dac1 100644 Binary files a/doc/sf_and_dist/graphs/beta_pdf.png and b/doc/sf_and_dist/graphs/beta_pdf.png differ diff --git a/doc/sf_and_dist/graphs/beta_pdf.svg b/doc/sf_and_dist/graphs/beta_pdf.svg new file mode 100644 index 000000000..9a3879d61 --- /dev/null +++ b/doc/sf_and_dist/graphs/beta_pdf.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +0 +0 +0.5 +1 +1.5 +2 +2.5 +3 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + +alpha=0.5, beta=0.5 +alpha=5, beta=1 +alpha=1, beta=3 +alpha=2, beta=2 +alpha=2, beta=5 + +Beta Distribution PDF + diff --git a/doc/sf_and_dist/graphs/binomial_pdf_1.png b/doc/sf_and_dist/graphs/binomial_pdf_1.png index 0b031e475..762141f54 100644 Binary files a/doc/sf_and_dist/graphs/binomial_pdf_1.png and b/doc/sf_and_dist/graphs/binomial_pdf_1.png differ diff --git a/doc/sf_and_dist/graphs/binomial_pdf_1.svg b/doc/sf_and_dist/graphs/binomial_pdf_1.svg new file mode 100644 index 000000000..a535aebb1 --- /dev/null +++ b/doc/sf_and_dist/graphs/binomial_pdf_1.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +10 +20 +30 +40 +50 +0 +0 +0.05 +0.1 +0.15 +0.2 +0.25 +0.3 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +n=5 p=0.5 +n=20 p=0.5 +n=50 p=0.5 + +Binomial Distribution PDF + diff --git a/doc/sf_and_dist/graphs/binomial_pdf_2.png b/doc/sf_and_dist/graphs/binomial_pdf_2.png index f4cca5b2a..c9a7a1c8b 100644 Binary files a/doc/sf_and_dist/graphs/binomial_pdf_2.png and b/doc/sf_and_dist/graphs/binomial_pdf_2.png differ diff --git a/doc/sf_and_dist/graphs/binomial_pdf_2.svg b/doc/sf_and_dist/graphs/binomial_pdf_2.svg new file mode 100644 index 000000000..e647939ed --- /dev/null +++ b/doc/sf_and_dist/graphs/binomial_pdf_2.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +10 +15 +20 +0 +0 +0.05 +0.1 +0.15 +0.2 +0.25 +0.3 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +n=20 p=0.1 +n=20 p=0.5 +n=20 p=0.9 + +Binomial Distribution PDF + diff --git a/doc/sf_and_dist/graphs/cauchy_pdf1.png b/doc/sf_and_dist/graphs/cauchy_pdf1.png new file mode 100644 index 000000000..c6d366321 Binary files /dev/null and b/doc/sf_and_dist/graphs/cauchy_pdf1.png differ diff --git a/doc/sf_and_dist/graphs/cauchy_pdf1.svg b/doc/sf_and_dist/graphs/cauchy_pdf1.svg new file mode 100644 index 000000000..40268f15a --- /dev/null +++ b/doc/sf_and_dist/graphs/cauchy_pdf1.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +0 +-5 +0 +0.1 +0.2 +0.3 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +location = -5 +location = 0 +location = 5 + +Cauchy Distribution PDF (scale = 1) + diff --git a/doc/sf_and_dist/graphs/cauchy_pdf2.png b/doc/sf_and_dist/graphs/cauchy_pdf2.png new file mode 100644 index 000000000..616190168 Binary files /dev/null and b/doc/sf_and_dist/graphs/cauchy_pdf2.png differ diff --git a/doc/sf_and_dist/graphs/cauchy_pdf2.svg b/doc/sf_and_dist/graphs/cauchy_pdf2.svg new file mode 100644 index 000000000..857ace9b9 --- /dev/null +++ b/doc/sf_and_dist/graphs/cauchy_pdf2.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +0 +-5 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +scale = 0.5 +scale = 1 +scale = 2 + +Cauchy Distribution PDF (location = 0) + diff --git a/doc/sf_and_dist/graphs/cbrt.png b/doc/sf_and_dist/graphs/cbrt.png new file mode 100644 index 000000000..81eb7c906 Binary files /dev/null and b/doc/sf_and_dist/graphs/cbrt.png differ diff --git a/doc/sf_and_dist/graphs/chi_squared_pdf.png b/doc/sf_and_dist/graphs/chi_squared_pdf.png new file mode 100644 index 000000000..32d0d2f04 Binary files /dev/null and b/doc/sf_and_dist/graphs/chi_squared_pdf.png differ diff --git a/doc/sf_and_dist/graphs/chi_squared_pdf.svg b/doc/sf_and_dist/graphs/chi_squared_pdf.svg new file mode 100644 index 000000000..05db45b6f --- /dev/null +++ b/doc/sf_and_dist/graphs/chi_squared_pdf.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +10 +15 +20 +0 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +v=2 +v=5 +v=10 + +Chi Squared Distribution PDF + diff --git a/doc/sf_and_dist/graphs/digamma.png b/doc/sf_and_dist/graphs/digamma.png index d5b813837..6b2c58c58 100644 Binary files a/doc/sf_and_dist/graphs/digamma.png and b/doc/sf_and_dist/graphs/digamma.png differ diff --git a/doc/sf_and_dist/graphs/dist_graphs.cpp b/doc/sf_and_dist/graphs/dist_graphs.cpp index db609e3ba..045bf9cdf 100644 --- a/doc/sf_and_dist/graphs/dist_graphs.cpp +++ b/doc/sf_and_dist/graphs/dist_graphs.cpp @@ -10,6 +10,7 @@ # pragma warning (disable : 4512) // assignment operator could not be generated //# pragma warning (disable : 4172) // returning address of local variable or temporary TODO find cause of these. # 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 @@ -22,6 +23,23 @@ #include #include +template +struct is_discrete_distribution + : public boost::mpl::false_{}; + +template +struct is_discrete_distribution > + : public boost::mpl::true_{}; +template +struct is_discrete_distribution > + : public boost::mpl::true_{}; +template +struct is_discrete_distribution > + : public boost::mpl::true_{}; +template +struct is_discrete_distribution > + : public boost::mpl::true_{}; + template struct value_finder @@ -43,7 +61,8 @@ template class distribution_plotter { public: - distribution_plotter() : m_min_x(0), m_max_x(0), m_min_y(0), m_max_y(0) {} + 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) { @@ -68,9 +87,9 @@ public: { mod = a; } - if(mod <= a) + if((mod <= a) && !is_discrete_distribution::value) { - if(a) + if((a != 0) && (fabs(a) > 1e-2)) mod = a * (1 + 1e-2); else mod = 1e-2; @@ -115,15 +134,18 @@ public: // it's not too close to one end of the graph: // otherwise we may be shooting off to infinity. // - if(mod <= a + (b-a)/50) + if(!is_discrete_distribution::value) { - mod = a + (b-a)/50; + 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); } - if(mod >= b - (b-a)/50) - { - mod = b - (b-a)/50; - } - peek_y = pdf(d, mod); // // Now set our limits: // @@ -156,18 +178,32 @@ public: chartreuse }; + if(m_pdf == false) + { + m_min_y = 0; + m_max_y = 1; + } + svg_2d_plot plot; plot.image_size(750, 400); plot.coord_precision(4); // Avoids any visible steps. plot.title_font_size(20); plot.legend_title_font_size(15); plot.title(title); - plot.legend_on(true).title_on(true); + 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 x_delta = (m_max_x - m_min_x) / 10; double y_delta = (m_max_y - m_min_y) / 10; - plot.x_range(m_min_x, m_max_x) - .y_range(m_min_y, m_max_y + y_delta); + if(is_discrete_distribution::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) @@ -181,6 +217,11 @@ public: double interval = std::pow(10.0, (int)l); if(((m_max_x - m_min_x) / interval) > 10) interval *= 5; + if(is_discrete_distribution::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); @@ -190,30 +231,78 @@ public: int color_index = 0; - for(std::list >::const_iterator i = m_distributions.begin(); - i != m_distributions.end(); ++i) + if(!is_discrete_distribution::value) { - double x = m_min_x; - double interval = (m_max_x - m_min_x) / 200; - std::map data; - while(x <= m_max_x) + // + // Continuous distribution: + // + for(std::list >::const_iterator i = m_distributions.begin(); + i != m_distributions.end(); ++i) { - data[x] = pdf(i->second, x); - x += interval; + double x = m_min_x; + double interval = (m_max_x - m_min_x) / 200; + std::map 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.) + //.bezier_on(true) // Can't cope with badly behaved like uniform & triangular. + .shape(none); + ++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 >::const_iterator i = m_distributions.begin(); + i != m_distributions.end(); ++i) + { + double x = ceil(m_min_x); + double interval = 1; + std::map 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.) + //.bezier_on(true) // Can't cope with badly behaved like uniform & triangular. + .shape(none); + s.line_style_.area_fill(colors[color_index]); + ++color_index; + color_index = color_index % (sizeof(colors)/sizeof(colors[0])); } - plot.plot(data, i->first) - .line_on(true) - .line_color(colors[color_index]) - .line_width(1.) - //.bezier_on(true) // Can't cope with badly behaved like uniform & triangular. - .shape(none); - ++color_index; - color_index = color_index % (sizeof(colors)/sizeof(colors[0])); } plot.write(file); } private: + bool m_pdf; std::list > m_distributions; double m_min_x, m_max_x, m_min_y, m_max_y; }; @@ -273,6 +362,15 @@ int main() nc_f_plotter.add(boost::math::non_central_f(10, 20, 100), "v1=10, v2=20, λ=100"); nc_f_plotter.plot("Non Central F PDF", "nc_f_pdf.svg"); + distribution_plotter + nc_t_plotter; + nc_t_plotter.add(boost::math::non_central_t(10, -10), "v=10, δ=-10"); + nc_t_plotter.add(boost::math::non_central_t(10, -5), "v=10, δ=-5"); + nc_t_plotter.add(boost::math::non_central_t(10, 0), "v=10, δ=0"); + nc_t_plotter.add(boost::math::non_central_t(10, 5), "v=10, δ=5"); + nc_t_plotter.add(boost::math::non_central_t(10, 10), "v=10, δ=10"); + nc_t_plotter.plot("Non Central T PDF", "nc_t_pdf.svg"); + distribution_plotter > beta_plotter; beta_plotter.add(boost::math::beta_distribution<>(0.5, 0.5), "alpha=0.5, beta=0.5"); @@ -298,9 +396,10 @@ int main() distribution_plotter > chi_squared_plotter; - chi_squared_plotter.add(boost::math::chi_squared_distribution<>(1), "v=1"); + //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 > @@ -369,6 +468,15 @@ int main() rayleigh_plotter.add(boost::math::rayleigh_distribution<>(10), "σ=10"); rayleigh_plotter.plot("Rayleigh Distribution PDF", "rayleigh_pdf.svg"); + distribution_plotter > + rayleigh_cdf_plotter(false); + rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(0.5), "σ=0.5"); + rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(1), "σ=1"); + rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(2), "σ=2"); + rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(4), "σ=4"); + rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(10), "σ=10"); + rayleigh_cdf_plotter.plot("Rayleigh Distribution CDF", "rayleigh_cdf.svg"); + distribution_plotter > triangular_plotter; triangular_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}"); @@ -378,6 +486,15 @@ int main() triangular_plotter.add(boost::math::triangular_distribution<>(-2,0,3), "{-2,0,3}"); triangular_plotter.plot("Triangular Distribution PDF", "triangular_pdf.svg"); + distribution_plotter > + 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 > students_t_plotter; students_t_plotter.add(boost::math::students_t_distribution<>(1), "v=1"); @@ -387,9 +504,10 @@ int main() distribution_plotter > weibull_plotter; - weibull_plotter.add(boost::math::weibull_distribution<>(0.2), "shape=0.2"); + 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 > @@ -397,7 +515,7 @@ int main() 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"); + weibull_plotter2.plot("Weibull Distribution PDF (shape=3)", "weibull_pdf2.svg"); distribution_plotter > uniform_plotter; @@ -407,4 +525,61 @@ int main() uniform_plotter.add(boost::math::uniform_distribution<>(-1, 1), "{-1,1}"); uniform_plotter.plot("Uniform Distribution PDF", "uniform_pdf.svg"); + distribution_plotter > + 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 > + 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 > + 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 > + 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 > + 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 > + 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 > + 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=40 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 > + poisson_plotter; + poisson_plotter.add(boost::math::poisson_distribution<>(5), "λ=1"); + poisson_plotter.add(boost::math::poisson_distribution<>(10), "λ=10"); + poisson_plotter.add(boost::math::poisson_distribution<>(20), "λ=50"); + poisson_plotter.plot("Poisson Distribution PDF", "poisson_pdf_1.svg"); + } diff --git a/doc/sf_and_dist/graphs/erf.png b/doc/sf_and_dist/graphs/erf.png new file mode 100644 index 000000000..dbb12fea7 Binary files /dev/null and b/doc/sf_and_dist/graphs/erf.png differ diff --git a/doc/sf_and_dist/graphs/erf_inv.png b/doc/sf_and_dist/graphs/erf_inv.png index a802b2834..c511437e4 100644 Binary files a/doc/sf_and_dist/graphs/erf_inv.png and b/doc/sf_and_dist/graphs/erf_inv.png differ diff --git a/doc/sf_and_dist/graphs/erfc.png b/doc/sf_and_dist/graphs/erfc.png new file mode 100644 index 000000000..2d4317978 Binary files /dev/null and b/doc/sf_and_dist/graphs/erfc.png differ diff --git a/doc/sf_and_dist/graphs/erfc_inv.png b/doc/sf_and_dist/graphs/erfc_inv.png index 99d5d3379..2f9cb0d6c 100644 Binary files a/doc/sf_and_dist/graphs/erfc_inv.png and b/doc/sf_and_dist/graphs/erfc_inv.png differ diff --git a/doc/sf_and_dist/graphs/expint2.png b/doc/sf_and_dist/graphs/expint2.png index 7ec13242c..f11d5c865 100644 Binary files a/doc/sf_and_dist/graphs/expint2.png and b/doc/sf_and_dist/graphs/expint2.png differ diff --git a/doc/sf_and_dist/graphs/expint_i.png b/doc/sf_and_dist/graphs/expint_i.png index dd88bb805..9db8db353 100644 Binary files a/doc/sf_and_dist/graphs/expint_i.png and b/doc/sf_and_dist/graphs/expint_i.png differ diff --git a/doc/sf_and_dist/graphs/expm1.png b/doc/sf_and_dist/graphs/expm1.png new file mode 100644 index 000000000..167399aa0 Binary files /dev/null and b/doc/sf_and_dist/graphs/expm1.png differ diff --git a/doc/sf_and_dist/graphs/exponential_pdf.png b/doc/sf_and_dist/graphs/exponential_pdf.png new file mode 100644 index 000000000..6d1e659af Binary files /dev/null and b/doc/sf_and_dist/graphs/exponential_pdf.png differ diff --git a/doc/sf_and_dist/graphs/exponential_pdf.svg b/doc/sf_and_dist/graphs/exponential_pdf.svg new file mode 100644 index 000000000..4997a2cab --- /dev/null +++ b/doc/sf_and_dist/graphs/exponential_pdf.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +5 +6 +0 +0.5 +1 +1.5 +2 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +λ=1 +λ=2 +λ=5 + +Exponential Distribution PDF + diff --git a/doc/sf_and_dist/graphs/extreme_value_pdf1.png b/doc/sf_and_dist/graphs/extreme_value_pdf1.png new file mode 100644 index 000000000..de6a5a073 Binary files /dev/null and b/doc/sf_and_dist/graphs/extreme_value_pdf1.png differ diff --git a/doc/sf_and_dist/graphs/extreme_value_pdf1.svg b/doc/sf_and_dist/graphs/extreme_value_pdf1.svg new file mode 100644 index 000000000..ba30a8fc1 --- /dev/null +++ b/doc/sf_and_dist/graphs/extreme_value_pdf1.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +0 +-5 +0 +0.1 +0.2 +0.3 +0.4 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +location=1 +location=2 +location=5 + +Extreme Value Distribution PDF (shape=1) + diff --git a/doc/sf_and_dist/graphs/extreme_value_pdf2.png b/doc/sf_and_dist/graphs/extreme_value_pdf2.png new file mode 100644 index 000000000..b115a1851 Binary files /dev/null and b/doc/sf_and_dist/graphs/extreme_value_pdf2.png differ diff --git a/doc/sf_and_dist/graphs/extreme_value_pdf2.svg b/doc/sf_and_dist/graphs/extreme_value_pdf2.svg new file mode 100644 index 000000000..546eefbff --- /dev/null +++ b/doc/sf_and_dist/graphs/extreme_value_pdf2.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +0 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +shape=0.5 +shape=1 +shape=2 + +Extreme Value Distribution PDF (location=0) + diff --git a/doc/sf_and_dist/graphs/fisher_f_pdf.png b/doc/sf_and_dist/graphs/fisher_f_pdf.png new file mode 100644 index 000000000..d41acdd86 Binary files /dev/null and b/doc/sf_and_dist/graphs/fisher_f_pdf.png differ diff --git a/doc/sf_and_dist/graphs/fisher_f_pdf.svg b/doc/sf_and_dist/graphs/fisher_f_pdf.svg new file mode 100644 index 000000000..3eaf2fa9c --- /dev/null +++ b/doc/sf_and_dist/graphs/fisher_f_pdf.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +0 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + +n=4, m=4 +n=10, m=4 +n=10, m=10 +n=4, m=10 + +F Distribution PDF + diff --git a/doc/sf_and_dist/graphs/gamma1_pdf.png b/doc/sf_and_dist/graphs/gamma1_pdf.png new file mode 100644 index 000000000..e3f6748bc Binary files /dev/null and b/doc/sf_and_dist/graphs/gamma1_pdf.png differ diff --git a/doc/sf_and_dist/graphs/gamma1_pdf.svg b/doc/sf_and_dist/graphs/gamma1_pdf.svg new file mode 100644 index 000000000..0ff1bcd53 --- /dev/null +++ b/doc/sf_and_dist/graphs/gamma1_pdf.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +shape = 0.5 +shape = 1 +shape = 3 + +Gamma Distribution PDF With Scale = 1 + diff --git a/doc/sf_and_dist/graphs/gamma2_pdf.png b/doc/sf_and_dist/graphs/gamma2_pdf.png new file mode 100644 index 000000000..311ffa90d Binary files /dev/null and b/doc/sf_and_dist/graphs/gamma2_pdf.png differ diff --git a/doc/sf_and_dist/graphs/gamma2_pdf.svg b/doc/sf_and_dist/graphs/gamma2_pdf.svg new file mode 100644 index 000000000..78831a5b9 --- /dev/null +++ b/doc/sf_and_dist/graphs/gamma2_pdf.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +10 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +scale = 2 +scale = 0.5 +scale = 2 + +Gamma Distribution PDF With Shape = 2 + diff --git a/doc/sf_and_dist/graphs/gamma_p.png b/doc/sf_and_dist/graphs/gamma_p.png index 7c289e760..f9f6e9c6f 100644 Binary files a/doc/sf_and_dist/graphs/gamma_p.png and b/doc/sf_and_dist/graphs/gamma_p.png differ diff --git a/doc/sf_and_dist/graphs/gamma_q.png b/doc/sf_and_dist/graphs/gamma_q.png index a0df88fa7..bf32c1b20 100644 Binary files a/doc/sf_and_dist/graphs/gamma_q.png and b/doc/sf_and_dist/graphs/gamma_q.png differ diff --git a/doc/sf_and_dist/graphs/ibeta.png b/doc/sf_and_dist/graphs/ibeta.png index 96242f9e4..c0d54285b 100644 Binary files a/doc/sf_and_dist/graphs/ibeta.png and b/doc/sf_and_dist/graphs/ibeta.png differ diff --git a/doc/sf_and_dist/graphs/legendre_p.png b/doc/sf_and_dist/graphs/legendre_p.png new file mode 100644 index 000000000..0568a51bd Binary files /dev/null and b/doc/sf_and_dist/graphs/legendre_p.png differ diff --git a/doc/sf_and_dist/graphs/legendre_q.png b/doc/sf_and_dist/graphs/legendre_q.png index 0dba25c8c..b8cede065 100644 Binary files a/doc/sf_and_dist/graphs/legendre_q.png and b/doc/sf_and_dist/graphs/legendre_q.png differ diff --git a/doc/sf_and_dist/graphs/lgamma.png b/doc/sf_and_dist/graphs/lgamma.png index f053d7c90..636c51dc0 100644 Binary files a/doc/sf_and_dist/graphs/lgamma.png and b/doc/sf_and_dist/graphs/lgamma.png differ diff --git a/doc/sf_and_dist/graphs/log1p.png b/doc/sf_and_dist/graphs/log1p.png new file mode 100644 index 000000000..885fb5223 Binary files /dev/null and b/doc/sf_and_dist/graphs/log1p.png differ diff --git a/doc/sf_and_dist/graphs/lognormal_pdf1.png b/doc/sf_and_dist/graphs/lognormal_pdf1.png new file mode 100644 index 000000000..e6ee679ac Binary files /dev/null and b/doc/sf_and_dist/graphs/lognormal_pdf1.png differ diff --git a/doc/sf_and_dist/graphs/lognormal_pdf1.svg b/doc/sf_and_dist/graphs/lognormal_pdf1.svg new file mode 100644 index 000000000..06af3da4b --- /dev/null +++ b/doc/sf_and_dist/graphs/lognormal_pdf1.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +10 +0 +0 +0.5 +1 +1.5 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +location=-1 +location=0 +location=1 + +Lognormal Distribution PDF (scale=1) + diff --git a/doc/sf_and_dist/graphs/lognormal_pdf2.png b/doc/sf_and_dist/graphs/lognormal_pdf2.png new file mode 100644 index 000000000..c12a383e9 Binary files /dev/null and b/doc/sf_and_dist/graphs/lognormal_pdf2.png differ diff --git a/doc/sf_and_dist/graphs/lognormal_pdf2.svg b/doc/sf_and_dist/graphs/lognormal_pdf2.svg new file mode 100644 index 000000000..b414a6c44 --- /dev/null +++ b/doc/sf_and_dist/graphs/lognormal_pdf2.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +0 +0 +0.5 +1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +scale=0.5 +scale=1 +scale=2 + +Lognormal Distribution PDF (location=0) + diff --git a/doc/sf_and_dist/graphs/nc_beta_pdf.png b/doc/sf_and_dist/graphs/nc_beta_pdf.png new file mode 100644 index 000000000..3cfb3ff06 Binary files /dev/null and b/doc/sf_and_dist/graphs/nc_beta_pdf.png differ diff --git a/doc/sf_and_dist/graphs/nc_beta_pdf.svg b/doc/sf_and_dist/graphs/nc_beta_pdf.svg new file mode 100644 index 000000000..574099a24 --- /dev/null +++ b/doc/sf_and_dist/graphs/nc_beta_pdf.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +0 +0 +1 +2 +3 +4 +5 +6 +7 +8 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + + + + +α=10, β=15, δ=0 +α=10, β=15, δ=1 +α=10, β=15, δ=5 +α=10, β=15, δ=10 +α=10, β=15, δ=40 +α=10, β=15, δ=100 + +Non Central Beta PDF + diff --git a/doc/sf_and_dist/graphs/nc_f_pdf.png b/doc/sf_and_dist/graphs/nc_f_pdf.png new file mode 100644 index 000000000..4f85d10d5 Binary files /dev/null and b/doc/sf_and_dist/graphs/nc_f_pdf.png differ diff --git a/doc/sf_and_dist/graphs/nc_f_pdf.svg b/doc/sf_and_dist/graphs/nc_f_pdf.svg new file mode 100644 index 000000000..685e13cdc --- /dev/null +++ b/doc/sf_and_dist/graphs/nc_f_pdf.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +10 +15 +20 +0 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + + + + +v1=10, v2=20, λ=0 +v1=10, v2=20, λ=1 +v1=10, v2=20, λ=5 +v1=10, v2=20, λ=10 +v1=10, v2=20, λ=40 +v1=10, v2=20, λ=100 + +Non Central F PDF + diff --git a/doc/sf_and_dist/graphs/nc_t_pdf.png b/doc/sf_and_dist/graphs/nc_t_pdf.png new file mode 100644 index 000000000..06b6841be Binary files /dev/null and b/doc/sf_and_dist/graphs/nc_t_pdf.png differ diff --git a/doc/sf_and_dist/graphs/nc_t_pdf.svg b/doc/sf_and_dist/graphs/nc_t_pdf.svg new file mode 100644 index 000000000..39ae5d389 --- /dev/null +++ b/doc/sf_and_dist/graphs/nc_t_pdf.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +10 +0 +-10 +0 +0.1 +0.2 +0.3 +0.4 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + +v=10, δ=-10 +v=10, δ=-5 +v=10, δ=0 +v=10, δ=5 +v=10, δ=10 + +Non Central T PDF + diff --git a/doc/sf_and_dist/graphs/nccs_pdf.png b/doc/sf_and_dist/graphs/nccs_pdf.png index 129e95223..b21f01ca1 100644 Binary files a/doc/sf_and_dist/graphs/nccs_pdf.png and b/doc/sf_and_dist/graphs/nccs_pdf.png differ diff --git a/doc/sf_and_dist/graphs/nccs_pdf.svg b/doc/sf_and_dist/graphs/nccs_pdf.svg new file mode 100644 index 000000000..a20129455 --- /dev/null +++ b/doc/sf_and_dist/graphs/nccs_pdf.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +50 +100 +150 +0 +0 +0.01 +0.02 +0.03 +0.04 +0.05 +0.06 +0.07 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + + + + +v=20, λ=0 +v=20, λ=1 +v=20, λ=5 +v=20, λ=10 +v=20, λ=20 +v=20, λ=100 + +Non Central Chi Squared PDF + diff --git a/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png b/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png new file mode 100644 index 000000000..063ef2d99 Binary files /dev/null and b/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png differ diff --git a/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg b/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg new file mode 100644 index 000000000..5d073bab6 --- /dev/null +++ b/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +50 +100 +0 +0 +0.05 +0.1 +0.15 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +n=20 p=0.25 +n=20 p=0.5 +n=20 p=0.75 + +Negative Binomial Distribution PDF + diff --git a/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png b/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png new file mode 100644 index 000000000..8343ab2e7 Binary files /dev/null and b/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png differ diff --git a/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg b/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg new file mode 100644 index 000000000..cd90078f1 --- /dev/null +++ b/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +50 +100 +0 +0 +0.01 +0.02 +0.03 +0.04 +0.05 +0.06 +0.07 +0.08 +0.09 +0.1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +n=10 p=0.5 +n=40 p=0.5 +n=70 p=0.5 + +Negative Binomial Distribution PDF + diff --git a/doc/sf_and_dist/graphs/normal_pdf.png b/doc/sf_and_dist/graphs/normal_pdf.png new file mode 100644 index 000000000..5e50dfa4b Binary files /dev/null and b/doc/sf_and_dist/graphs/normal_pdf.png differ diff --git a/doc/sf_and_dist/graphs/normal_pdf.svg b/doc/sf_and_dist/graphs/normal_pdf.svg new file mode 100644 index 000000000..84ad1efd4 --- /dev/null +++ b/doc/sf_and_dist/graphs/normal_pdf.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +0 +-1 +-2 +-3 +-4 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + +μ = 0, σ = 1 +μ = 0, σ = 0.5 +μ = 0, σ = 2 +μ = -1, σ = 1 +μ = 1, σ = 1 + +Normal Distribution PDF + diff --git a/doc/sf_and_dist/graphs/pareto_pdf1.png b/doc/sf_and_dist/graphs/pareto_pdf1.png new file mode 100644 index 000000000..dbb373aa9 Binary files /dev/null and b/doc/sf_and_dist/graphs/pareto_pdf1.png differ diff --git a/doc/sf_and_dist/graphs/pareto_pdf1.svg b/doc/sf_and_dist/graphs/pareto_pdf1.svg new file mode 100644 index 000000000..35c7b881e --- /dev/null +++ b/doc/sf_and_dist/graphs/pareto_pdf1.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +5 +10 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +location=1 +location=2 +location=3 + +Pareto Distribution PDF (scale=1) + diff --git a/doc/sf_and_dist/graphs/pareto_pdf2.png b/doc/sf_and_dist/graphs/pareto_pdf2.png new file mode 100644 index 000000000..54ba8486a Binary files /dev/null and b/doc/sf_and_dist/graphs/pareto_pdf2.png differ diff --git a/doc/sf_and_dist/graphs/pareto_pdf2.svg b/doc/sf_and_dist/graphs/pareto_pdf2.svg new file mode 100644 index 000000000..7f7b31c71 --- /dev/null +++ b/doc/sf_and_dist/graphs/pareto_pdf2.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + +1 +2 +3 +4 +5 +6 +7 +0 +0.5 +1 +1.5 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +scale=0.5 +scale=1 +scale=2 + +Pareto Distribution PDF (location=1) + diff --git a/doc/sf_and_dist/graphs/poisson_pdf_1.png b/doc/sf_and_dist/graphs/poisson_pdf_1.png new file mode 100644 index 000000000..f20aabb08 Binary files /dev/null and b/doc/sf_and_dist/graphs/poisson_pdf_1.png differ diff --git a/doc/sf_and_dist/graphs/poisson_pdf_1.svg b/doc/sf_and_dist/graphs/poisson_pdf_1.svg new file mode 100644 index 000000000..5e2308365 --- /dev/null +++ b/doc/sf_and_dist/graphs/poisson_pdf_1.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +10 +15 +20 +25 +30 +0 +0 +0.05 +0.1 +0.15 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +λ=1 +λ=10 +λ=50 + +Poisson Distribution PDF + diff --git a/doc/sf_and_dist/graphs/rayleigh_cdf.png b/doc/sf_and_dist/graphs/rayleigh_cdf.png index 234f6b46f..2d60e2ac1 100644 Binary files a/doc/sf_and_dist/graphs/rayleigh_cdf.png and b/doc/sf_and_dist/graphs/rayleigh_cdf.png differ diff --git a/doc/sf_and_dist/graphs/rayleigh_cdf.svg b/doc/sf_and_dist/graphs/rayleigh_cdf.svg new file mode 100644 index 000000000..ccf6d20fc --- /dev/null +++ b/doc/sf_and_dist/graphs/rayleigh_cdf.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + +5 +10 +15 +20 +25 +30 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +1.1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + +σ=0.5 +σ=1 +σ=2 +σ=4 +σ=10 + +Rayleigh Distribution CDF + diff --git a/doc/sf_and_dist/graphs/rayleigh_pdf.png b/doc/sf_and_dist/graphs/rayleigh_pdf.png index c0819e5ab..0a544fdec 100644 Binary files a/doc/sf_and_dist/graphs/rayleigh_pdf.png and b/doc/sf_and_dist/graphs/rayleigh_pdf.png differ diff --git a/doc/sf_and_dist/graphs/rayleigh_pdf.svg b/doc/sf_and_dist/graphs/rayleigh_pdf.svg new file mode 100644 index 000000000..a656df209 --- /dev/null +++ b/doc/sf_and_dist/graphs/rayleigh_pdf.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + +5 +10 +15 +20 +25 +30 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + +σ=0.5 +σ=1 +σ=2 +σ=4 +σ=10 + +Rayleigh Distribution PDF + diff --git a/doc/sf_and_dist/graphs/sinc_pi.png b/doc/sf_and_dist/graphs/sinc_pi.png new file mode 100644 index 000000000..d4f6353ad Binary files /dev/null and b/doc/sf_and_dist/graphs/sinc_pi.png differ diff --git a/doc/sf_and_dist/graphs/sinhc_pi.png b/doc/sf_and_dist/graphs/sinhc_pi.png new file mode 100644 index 000000000..3ce808253 Binary files /dev/null and b/doc/sf_and_dist/graphs/sinhc_pi.png differ diff --git a/doc/sf_and_dist/graphs/sqrt1pm1.png b/doc/sf_and_dist/graphs/sqrt1pm1.png new file mode 100644 index 000000000..660a7a8fe Binary files /dev/null and b/doc/sf_and_dist/graphs/sqrt1pm1.png differ diff --git a/doc/sf_and_dist/graphs/students_t_pdf.png b/doc/sf_and_dist/graphs/students_t_pdf.png new file mode 100644 index 000000000..da7341199 Binary files /dev/null and b/doc/sf_and_dist/graphs/students_t_pdf.png differ diff --git a/doc/sf_and_dist/graphs/students_t_pdf.svg b/doc/sf_and_dist/graphs/students_t_pdf.svg new file mode 100644 index 000000000..d43fdb95f --- /dev/null +++ b/doc/sf_and_dist/graphs/students_t_pdf.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +0 +-1 +-2 +-3 +-4 +0 +0.1 +0.2 +0.3 +0.4 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +v=1 +v=5 +v=30 + +Students T Distribution PDF + diff --git a/doc/sf_and_dist/graphs/tgamma.png b/doc/sf_and_dist/graphs/tgamma.png new file mode 100644 index 000000000..5cb5f14f6 Binary files /dev/null and b/doc/sf_and_dist/graphs/tgamma.png differ diff --git a/doc/sf_and_dist/graphs/tgamma_delta_ratio.png b/doc/sf_and_dist/graphs/tgamma_delta_ratio.png new file mode 100644 index 000000000..d884192c6 Binary files /dev/null and b/doc/sf_and_dist/graphs/tgamma_delta_ratio.png differ diff --git a/doc/sf_and_dist/graphs/triangular_cdf.png b/doc/sf_and_dist/graphs/triangular_cdf.png index 8d54955a3..9f889c9c1 100644 Binary files a/doc/sf_and_dist/graphs/triangular_cdf.png and b/doc/sf_and_dist/graphs/triangular_cdf.png differ diff --git a/doc/sf_and_dist/graphs/triangular_cdf.svg b/doc/sf_and_dist/graphs/triangular_cdf.svg new file mode 100644 index 000000000..27d89961e --- /dev/null +++ b/doc/sf_and_dist/graphs/triangular_cdf.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +0 +-1 +-2 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +1.1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + +{-1,0,1} +{0,1,1} +{0,1,3} +{0,0.5,1} +{-2,0,3} + +Triangular Distribution CDF + diff --git a/doc/sf_and_dist/graphs/triangular_pdf.png b/doc/sf_and_dist/graphs/triangular_pdf.png index 72715c497..7d84e8071 100644 Binary files a/doc/sf_and_dist/graphs/triangular_pdf.png and b/doc/sf_and_dist/graphs/triangular_pdf.png differ diff --git a/doc/sf_and_dist/graphs/triangular_pdf.svg b/doc/sf_and_dist/graphs/triangular_pdf.svg new file mode 100644 index 000000000..0d0210fba --- /dev/null +++ b/doc/sf_and_dist/graphs/triangular_pdf.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +0 +-1 +-2 +0 +0.5 +1 +1.5 +2 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + + + + +{-1,0,1} +{0,1,1} +{0,1,3} +{0,0.5,1} +{-2,0,3} + +Triangular Distribution PDF + diff --git a/doc/sf_and_dist/graphs/uniform_cdf.png b/doc/sf_and_dist/graphs/uniform_cdf.png index 03acf2c9d..1d726376a 100644 Binary files a/doc/sf_and_dist/graphs/uniform_cdf.png and b/doc/sf_and_dist/graphs/uniform_cdf.png differ diff --git a/doc/sf_and_dist/graphs/uniform_cdf.svg b/doc/sf_and_dist/graphs/uniform_cdf.svg new file mode 100644 index 000000000..e59939634 --- /dev/null +++ b/doc/sf_and_dist/graphs/uniform_cdf.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +0 +-1 +-2 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +1.1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + +{0,1} +{0,3} +{-2,3} +{-1,1} + +Uniform Distribution CDF + diff --git a/doc/sf_and_dist/graphs/uniform_pdf.png b/doc/sf_and_dist/graphs/uniform_pdf.png index 7e99ab54a..b1be15bfb 100644 Binary files a/doc/sf_and_dist/graphs/uniform_pdf.png and b/doc/sf_and_dist/graphs/uniform_pdf.png differ diff --git a/doc/sf_and_dist/graphs/uniform_pdf.svg b/doc/sf_and_dist/graphs/uniform_pdf.svg new file mode 100644 index 000000000..580d8bbec --- /dev/null +++ b/doc/sf_and_dist/graphs/uniform_pdf.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +0 +-1 +-2 +0 +0.1 +0.2 +0.3 +0.4 +0.5 +0.6 +0.7 +0.8 +0.9 +1 +1.1 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + +{0,1} +{0,3} +{-2,3} +{-1,1} + +Uniform Distribution PDF + diff --git a/doc/sf_and_dist/graphs/weibull_pdf1.png b/doc/sf_and_dist/graphs/weibull_pdf1.png new file mode 100644 index 000000000..48a25c7c7 Binary files /dev/null and b/doc/sf_and_dist/graphs/weibull_pdf1.png differ diff --git a/doc/sf_and_dist/graphs/weibull_pdf1.svg b/doc/sf_and_dist/graphs/weibull_pdf1.svg new file mode 100644 index 000000000..df69bd67a --- /dev/null +++ b/doc/sf_and_dist/graphs/weibull_pdf1.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +0.5 +1 +1.5 +2 +2.5 +3 +0 +1 +2 +3 +4 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + + + + +shape=0.75 +shape=1 +shape=5 +shape=10 + +Weibull Distribution PDF (scale=1) + diff --git a/doc/sf_and_dist/graphs/weibull_pdf2.png b/doc/sf_and_dist/graphs/weibull_pdf2.png new file mode 100644 index 000000000..06bcff786 Binary files /dev/null and b/doc/sf_and_dist/graphs/weibull_pdf2.png differ diff --git a/doc/sf_and_dist/graphs/weibull_pdf2.svg b/doc/sf_and_dist/graphs/weibull_pdf2.svg new file mode 100644 index 000000000..eb378c882 --- /dev/null +++ b/doc/sf_and_dist/graphs/weibull_pdf2.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +0 +0.5 +1 +1.5 +2 +2.5 +0 + +Probability + +Random Variable + + + + + + + + + + + + + + + +scale=0.5 +scale=1 +scale=2 + +Weibull Distribution PDF (shape=3) + diff --git a/doc/sf_and_dist/graphs/zeta1.png b/doc/sf_and_dist/graphs/zeta1.png index 7c73c273c..b20bcd90c 100644 Binary files a/doc/sf_and_dist/graphs/zeta1.png and b/doc/sf_and_dist/graphs/zeta1.png differ diff --git a/doc/sf_and_dist/graphs/zeta2.png b/doc/sf_and_dist/graphs/zeta2.png index b2aba8722..e6c177004 100644 Binary files a/doc/sf_and_dist/graphs/zeta2.png and b/doc/sf_and_dist/graphs/zeta2.png differ diff --git a/doc/sf_and_dist/math.qbk b/doc/sf_and_dist/math.qbk index e3fa29dc6..ba9c9bd37 100644 --- a/doc/sf_and_dist/math.qbk +++ b/doc/sf_and_dist/math.qbk @@ -22,6 +22,15 @@ '''] +[template graph[name] ''' + + + + + + +'''] + [include html4_symbols.qbk] [/ just for testing] [/include latin1_symbols.qbk] [/ just for testing] [include common_overviews.qbk] [/ overviews that appear in more than one place!] diff --git a/include/boost/math/distributions/weibull.hpp b/include/boost/math/distributions/weibull.hpp index 38e1b3d56..5368b830e 100644 --- a/include/boost/math/distributions/weibull.hpp +++ b/include/boost/math/distributions/weibull.hpp @@ -286,6 +286,8 @@ inline RealType mode(const weibull_distribution& dist) { return result; } + if(shape <= 1) + return 0; result = scale * pow((shape - 1) / shape, 1 / shape); return result; }