-
Notifications
You must be signed in to change notification settings - Fork 40
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Computing the partition function for a single value #149
Comments
Yeah, it sounds very interesting. |
As a first observation, the calculation of |
Maybe try bindings to MPFR? |
I don't think that will be necessary. There already exists an
I get the feeling 1. won't work, but if it does this'll be relatively easy. |
@Bodigrim I was taking a closer look at MPFR, and yes, the API is not very nice to work with. I'm currently working through the paper, and it seems the most troublesome terms are those at lower indices, which require a lot of precision. I also see plenty of mentions to floating precision (some to MPFR), I'll have to get a better understanding of the paper because I don't yet understand how 64-bit floating point numbers are used to calculate numbers with billions of digits. I am missing something. |
|
Closing, since #149 has been withdrawn. |
After #107, this library now offers a way to calculate a contiguous sequence of values of the partition function.
However, for a large, isolated
n
, this is impractical because all values up to thisn
have to be calculated, and as stated here, it is not possible to calculate beyond the2^64
-th element of this (zero-indexed) sequence (on 64 bit machines).For the purpose of calculating
p(n)
for a single value, the Hardy-Ramanujan-Rademacher formula exists.This issue will be about writing a new function
partitionOf :: Integral a => Natural -> a
(the type is most likely wrong and the name can be made more suggestive later).@Bodigrim would you find this worthwhile?
The text was updated successfully, but these errors were encountered: