# Boost-Commit :

Subject: [Boost-commit] svn:boost r78134 - trunk/libs/math/doc/sf_and_dist
From: pbristow_at_[hidden]
Date: 2012-04-22 07:45:33

Author: pbristow
Date: 2012-04-22 07:45:33 EDT (Sun, 22 Apr 2012)
New Revision: 78134
URL: http://svn.boost.org/trac/boost/changeset/78134

Log:
Update to Owens for extra formula and reference, and to roadmap
Text files modified:
trunk/libs/math/doc/sf_and_dist/owens_t.qbk | 25 ++++++++++++++++++++-----
2 files changed, 21 insertions(+), 6 deletions(-)

Modified: trunk/libs/math/doc/sf_and_dist/owens_t.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/owens_t.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/owens_t.qbk 2012-04-22 07:45:33 EDT (Sun, 22 Apr 2012)
@@ -51,9 +51,21 @@
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.
+
+__spaces T(h, 0) = 0
+
+__spaces T(0, a) = 1/2[pi] arctan(a)
+
+__spaces T(h, 1) = [frac12] G(h) \[1 - G(h)\]
+
+where G(h) is the univariate normal with zero mean and unit variance integral from -[infin] to h.
+
+Owen's expressions for infinity are not yet implemented.
+
[h4 Accuracy]

-The Patefield-Tandy algorithm provides six methods of evalualution;
+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.
@@ -72,7 +84,8 @@

[h4 Testing]

-Test data was generated by T1 and T4.
+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,
@@ -85,13 +98,15 @@
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 ???? TODO.
+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
-D. B. Owen, Tables for computing bivariate normal probabilities,
-Ann. Math. Statist., 27, 1075-1090 (1956).
+[@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)