Comments (12)
For historical reasons, the incomplete gamma is in https://github.com/JuliaStats/StatsFuns.jl (though we should probably merge them at some point).
from specialfunctions.jl.
You can also call high quality implementations of this and many related functions wrapped by GSL.jl:
https://github.com/JuliaMath/GSL.jl
This works great on julia 0.6, but isn't updated to work on julia 1.0 yet. Not sure what the status is, but there seems to be some issue with the update JuliaMath/GSL.jl#71
@jiahao @rdeits @jagot is there anything you can tell us about the status of this PR? Is there a way forward for this essential library? Any way wider community can help get it to 1.0?
from specialfunctions.jl.
That PR gets all but one test passing on Julia v0.7 (or at least it did back in August when I wrote it). I'm not a maintainer of the package, so there's not much I can do to move it forward, unfortunately.
As a general note, you can always install a package from its exact git URL and commit name, so you should be able to install the code used in that PR with:
pkg> add https://github.com/rdeits/GSL.jl#e1da596
from specialfunctions.jl.
GSL is now working on 1.0, on master, giving fast, accurate, and stable incomplete gamma: ]add GSL#
, then:
julia> using GSL
julia> sf_gamma(3.0)
2.0
julia> sf_gamma(4)
6.0
julia> sf_gamma_inc(.2,3)
0.01700068316204036
julia> sf_gamma_inc(.2,100)
9.270962386280069e-46
from specialfunctions.jl.
I think the tagged release is just waiting on Windows CI JuliaMath/GSL.jl#79
from specialfunctions.jl.
Hi Folks,
There is an error in the Incomplete Gamma function in the Julia Special Functions package. The Incomplete gamma function with a=1/2 yields values in error around x=3.0. Note that with this value of a=1/2, the Incomplete error function is proportional to the complementary error function and should be smooth around x=3.0. Please see the attached pdf plot as well as the Julia code and a log file of the Julia 1.60 run that generated the plot.
Any comments or recommendations are welcome. Thank you !
I have never posted about a Julia error nor used GitHub, so if I am posting about this error in the wrong place please let me know and my apologies !
IncompleteGammaError.txt
IncGammaError.pdf
ErrorLog.txt
from specialfunctions.jl.
@JohnCortese looks like the same issue as #303?
from specialfunctions.jl.
Hi Giordano,
Yes, the issue I wrote about earlier today is identical to # 303. Sorry - I am new to Julia error reporting and GitHub.
John
from specialfunctions.jl.
No worries 🙂 Your report was detailed enough that it was easy to understand it and identify with the other open issue, thanks!
from specialfunctions.jl.
Closing, since the original issue is fixed, and the remaining issue is a duplicate of #303.
from specialfunctions.jl.
Thank you Steven. The issue remains in Julia 1.6, which is the most recent version. Will the fix to Gamma be incorporated in the next Julia update ?
from specialfunctions.jl.
The SpecialFunctions package is separate from Julia releases. We can tag a new version as soon as we track down the bug
from specialfunctions.jl.
Related Issues (20)
- Add logabsgamma(::Complex) HOT 3
- incorrect reference HOT 2
- Address known-broken ChainRules tests
- Add gamma(::Complex{BigFloat}) HOT 1
- Inverse of erfi
- Reduce/remove inner allocations (e.g. `gamma_inc_taylor`, `gamma_inc_asym`) HOT 9
- Segfault in besselj HOT 2
- Regularized Kumer Functions? HOT 1
- Generalize beta, logbeta, etc. to any number of arguments
- Accuracy of `digamma` function can be improved HOT 1
- What about `gamma_inc_inv`'s derivative ? HOT 2
- `expint(nu,z)` has bad precision for `nu != 1`
- Failing to build on Apple M1 Sonoma HOT 1
- Registering Functions with `Symbolics.jl` HOT 1
- Large negative real number arguments return NaN for expintx HOT 1
- Rewrite all AMOS code in julia HOT 5
- Internals of the incomplete gamma function does not work with `ForwardDiff.jl`'s `Dual()` type due to enforced floating point precision HOT 4
- Extensive use of abs for complex tolerances HOT 2
- Allocations in the sum over a product of `besselj(::Int64, ::Float32)`
- Use of `expint` with ForwardDiff HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from specialfunctions.jl.