<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.79.1">
<link rel="home" href="../index.html" title="Math Toolkit 2.5.1">
<link rel="up" href="../status.html" title="Chapter&#160;18.&#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">
          [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">
          There are a several other integrals: 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>
</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>
      We have a request for the Lambert W function, see <a href="https://svn.boost.org/trac/boost/ticket/11027" target="_top">#11027</a>.
    </p>
<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, Jeremy Murphy, Johan R&#229;de, Gautam Sewani,
      Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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>