| [section:trigamma Trigamma] |
| |
| [h4 Synopsis] |
| |
| `` |
| #include <boost/math/special_functions/trigamma.hpp> |
| `` |
| |
| namespace boost{ namespace math{ |
| |
| template <class T> |
| ``__sf_result`` trigamma(T z); |
| |
| template <class T, class ``__Policy``> |
| ``__sf_result`` trigamma(T z, const ``__Policy``&); |
| |
| }} // namespaces |
| |
| [h4 Description] |
| |
| Returns the trigamma function of /x/. Trigamma is defined as the |
| derivative of the digamma function: |
| |
| [equation trigamma1] |
| |
| [graph trigamma] |
| |
| [optional_policy] |
| |
| 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. |
| |
| [h4 Accuracy] |
| |
| The following table shows the peak errors (in units of epsilon) |
| found on various platforms with various floating point types. |
| Unless otherwise specified any floating point type that is narrower |
| than the one shown will have __zero_error. |
| |
| [table |
| [[Significand Size] [Platform and Compiler] [Random Values] ] |
| [[53] [Win32 Visual C++ 12] [Peak=1.0 Mean=0.4] ] |
| [[64] [Win64 Mingw GCC] [Peak=1.4 Mean=0.4] ] |
| [[113] [Win64 Mingw GCC __float128] [Peak=1.0 Mean=0.5] ] |
| ] |
| |
| As shown above, error rates are generally very low for built in types. |
| For multiprecision types, error rates are typically in the order of a |
| few epsilon. |
| |
| [h4 Testing] |
| |
| Testing is against Mathematica generated spot values to 35 digit precision. |
| |
| [h4 Implementation] |
| |
| The arbitrary precision version of this function simply calls __polygamma. |
| |
| For built in fixed precision types, negative arguments are first made positive via: |
| |
| [equation trigamma2] |
| |
| Then arguments in the range \[0, 1) are shifted to >= 1 via: |
| |
| [equation trigamma3] |
| |
| Then evaluation is via one of a number of rational approximations, for small x these are |
| of the form: |
| |
| [equation trigamma4] |
| |
| and for large x of the form: |
| |
| [equation trigamma5] |
| |
| [endsect][/section:digamma The Trigamma Function] |
| |
| [/ |
| Copyright 2014 John Maddock and Paul A. Bristow. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |