-
Notifications
You must be signed in to change notification settings - Fork 3
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
Possible improvement to mul #1
Comments
Thanks for bringing this to my attention @bawolk and for the kind words about the project. I think you have a good point and wonder if it's OK with you if we reopen this issue? If so could you please paste in your original comments? (or file a new issue). |
I withdrew my comment for two reasons. First, I wanted to dig deeper into the project to see what the ramifications would be of using I am using hops in connection with my reading of Sedgewick and Flajolet's "Analytic Combinatorics"(2009). To that end I have added four new transforms, SEQ, PSET, MSET, and CYC for my personal use. These are key transforms associated with some of the basic constructions in their theory. (See p. 27.) These four transforms are apparently known as Pólya operators: the quasi-inverse, modified Pólya exponential, Pólya exponential, and Pólya logarithm respectively. (See p. 34) The structure of your project makes adding new transforms a breeze! By the way, thanks for the heads-up on |
Thanks for explaining why you withdrew your comment; that makes a lot of sense. Regarding Here's another way to observe the difference between filling the tail with
As an aside I'm not sure it was the right decision to include Regarding the implementation of multiplication, any suggestions to improve it's performance are most welcome. The Kronecker substitution trick is indeed very neat; it basically delegates the problem to the bignum library. My implementation seems rather slow on the example you provided though. Thanks for showing how to use You mentioned that you had some problems compiling the whole project. Let me know if there is anything I can do to make it easier. Best of luck with your Analytic Combinatorics studies. It's a great book to learn from. If you would like to open pull requests for the transformations you add at some point that would be very welcome too. |
The whole project actually compiles quite nicely using I'm sure I'm missing something, but doesn't
Obviously {0,2} is being treated as series, with the corresponding use of I wondered about DZ as well. I wish I knew more about the underlying algorithms for pattern matching, Does an additional data constructor reduce efficiency since more cases have to be considered? Would adding still another data constructor, say |
To follow up on my query regarding whether |
I think you're right, starting with I have a second motivation for keeping Viewing this as (the start of) an ogf, let's call it
and discover that this sequence is in the OEIS:
On the other hand, viewing
which is less helpful, and looking up this sequence in the OEIS wouldn't give a hit. I guess one could track the precision in a separate parameter thought and maybe still be able to get rid of I'm not sure what the impact on performance is of having |
I modified your parser to accept polynomials like
At a minimum, this makes entering certain polynomials much easier:
I'm not sure if there would be any general interest in such a feature. |
That's neat. Please do submit a pull request. If you'd like to write a few lines about it in the tutorial that would be great too, and maybe fix my confusing wording about {1,2,3} specifying a finite sequence while you're doing it. If you don't feel like working with the docs, then no worries. |
Comment withdrawn
The text was updated successfully, but these errors were encountered: