On Sunday, 26 March 2023 at 05:54:09 UTC-7 kenta kobayashi wrote: Question 1: Would it be appropriate to push these functions as a ‘Geometry and Topology’ library in Sage?
Nowadays, for brand new code that isn't obviously extending or improving already existing capabilities in sage, it's probably a good idea to start with packaging the code into a stand-alone repository. It's your choice how nicely packaged you want to make it: you can just make it a directory that people can download and then link into sage (at their barest, python modules really just consist of a directory with python files), or you can wrap it up in a pip-installable package on github and/or publish it on pypi. (see for instance https://github.com/nbruin/RiemannTheta for an "intermediately polished" example) It has the advantage that the code is available immediately and that for the first while you can respond very quickly to bugs and issues that arise (so SageMath development cycle or review to contend with!). It also allows for a period to gauge how people actually use the code, which can be quite different from what you envisaged. Once the usage has stabilized a bit, it's worth pushing for inclusion into the sagemath library itself, so that your code is kept up-to-date with other changes in the library (over longer time spans this becomes important). At that point you can archive the original repo with a pointer to the relevant code in sagemath. This process also has the advantage that there is a specific place for you to point at to show what you've accomplished (for job and grant applications). Question 2: I cannot find any SageMath polynomial library that supports polynomials of rational degrees. However, elliptic genera are Laurent polynomial series of rational degrees. What is the most appropriate representation for this? LaurentPolynomialRing (for finite series) and LaurentSeriesRing Question 3: In my code, I have redefined the zeta function only for negative integers due to computation time. Is it acceptable to use such ad-hoc coding, or should I use the zeta function of the SageMath library in the code to be published? You could look if this redefinition is already available somewhere in sage and then you can import it from there. In general, you should probably use whatever feature is already available that significantly fills your need, to avoid duplication of effort and also because your (first) version would probably not handle edge cases and variations of inputs as gracefully as more mature code does. Your redefinition obviously needs to stay confined to your own modules and then for maintainability it should probably be named "modified_zeta" to match (so that other people reading your code understand it's not the usual zeta function). -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/3f0b0133-77ab-4c26-bf4c-556d273d6035n%40googlegroups.com.