[ 
https://issues.apache.org/jira/browse/NUMBERS-171?focusedWorklogId=665779&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-665779
 ]

ASF GitHub Bot logged work on NUMBERS-171:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 17/Oct/21 00:32
            Start Date: 17/Oct/21 00:32
    Worklog Time Spent: 10m 
      Work Description: aherbert opened a new pull request #107:
URL: https://github.com/apache/commons-numbers/pull/107


   Ported the Boost C++ function boost::math::erfc_inv. This supports
   evaluation from double min value, superceding the support from 2^-53 in
   the previous implementation.
   
   Added a JMH benchmark for the Boost implementation verses the previous
   version.
   
   Documented special case return values for the inverse error functions
   public API.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 665779)
    Time Spent: 20m  (was: 10m)

> Update the InverseErfc function to support the full range of x in [0, 2]
> ------------------------------------------------------------------------
>
>                 Key: NUMBERS-171
>                 URL: https://issues.apache.org/jira/browse/NUMBERS-171
>             Project: Commons Numbers
>          Issue Type: Improvement
>          Components: gamma
>    Affects Versions: 1.0
>            Reporter: Alex Herbert
>            Assignee: Alex Herbert
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The InverseErfc function computes the inverse complementary error function 
> using the identity with the inverse error function:
> {noformat}
> inverse erfc(x) = inverse erf(1-x)
> {noformat}
> This suffers from loss of precision when {{x -> 0}}. The minimum supported 
> value is 2^-53. Accuracy reduces as this value is approached. Beyond it the 
> function returns infinity.
> A dedicated implementation does not require use of 1 - x and can compute to 
> the minimum supported 64-bit value. Example output from the matlab erfcinv 
> function:
> {noformat}
> erfcinv(2^-53) = 5.863584748755168
> erfcinv(5e-324) = 27.216482834230213
> {noformat}
> The Boost C++ library has an implementation for the inverse erf accurate to 
> double min value. The license is compatible with the Apache license. I 
> suggest an internal implementation of the Boost method to update the function 
> to support the full range of the argument x.
> See:
> Boost error function inverses:
>  
> [https://www.boost.org/doc/libs/1_77_0/libs/math/doc/html/math_toolkit/sf_erf/error_inv.html]
> STATISTICS-37



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to