PS: Sorry, I just notice that you did answer my question: It is 60 lines of python code. That shouldn't be a problem to include in the Sage library (i.e., in relevant parts of src/sage/..., maybe in the same location than the current implementation.
Do you have a trac account? Best regards, Simon On 2020-02-13, Simon King <simon.k...@uni-jena.de> wrote: > Hi Denis, > > in the past, sage-combinat-devel was a very active list and certainly > the topic of your post fits well, but it seems to me that it would be a > good idea to re-post on sage-devel. > > Did you read the developer's guide? > > Certainly people could help you contributing the code. In particular if > the code is written in Python or Cython, it would probably be easy to > fit it into src/sage/... > > Or is it an external package? Then it would of course be nice to have > code in the sage library that makes use of the external package. Note > that at least in the beginning, a new package would be optional. > > Concerning the "min" option: At least for now, the old code in Sage > would not be removed. So, even with your package installed, one could > easily make it so that the old code is used when the user requests the > "min" option. > > Best regards, > Simon > > On 2020-02-10, Denis Sunko <denissu...@gmail.com> wrote: >> I have translated the Haskell code for vector partitions by M. C. Err, The >> Computer Journal, Vol. 31, 1988, 283-284, into Python (2 or 3, stand-alone >> file with 60 lines total). >> >> The code works significantly faster than the Sage implementation: >> >> ┌────────────────────────────────────────────────────────────────────┐ >> │ SageMath version 9.0, Release Date: 2020-01-01 │ >> │ Using Python 3.7.3. Type "help()" for help. │ >> └────────────────────────────────────────────────────────────────────┘ >> sage: import vpartitions >> sage: %time myvparts=vpartitions.vPartitionso([6,6,6]) >> CPU times: user 9.13 s, sys: 89.8 ms, total: 9.22 s >> Wall time: 9.22 s >> sage: %time sagevparts=list(VectorPartitions([6,6,6])) >> CPU times: user 2min 10s, sys: 177 ms, total: 2min 10s >> Wall time: 2min 10s >> sage: myvparts[::-1]==sagevparts >> True >> >> If someone would take over the job of contributing this code to Sage, I >> would be glad to help. There are a few caveats: >> >> 1) the code is recursive; >> 2) there is no "min" option like in the Sage implementation. >> >> I do not know how difficult (or necessary) it would be to address these >> points. >> >> Of course, anyone can take it up straight from Err's paper instead, I won't >> be jealous:) >> >> Cheers, >> >> Denis >> > -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-combinat-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-combinat-devel/r23999%24ph9%241%40ciao.gmane.io.