Boost logo

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 ++++++++++++++++++++-----
   trunk/libs/math/doc/sf_and_dist/roadmap.qbk | 2 +-
   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)

Modified: trunk/libs/math/doc/sf_and_dist/roadmap.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/roadmap.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/roadmap.qbk 2012-04-22 07:45:33 EDT (Sun, 22 Apr 2012)
@@ -6,7 +6,7 @@
 * 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 Skew Normal distribution written by Benjamin Sobotta.
+* Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta.
 * 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.
 


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