Dear all, this e-mail is mostly advertising ticket
https://trac.sagemath.org/ticket/29610
and asking for help. It is my hope that eventually some version of that ticket
would make it to SageMath.
I've implemented Vertex algebras, Lie Conformal Algebras and Poisson Vertex
Algebras. Some of the description is in the ticket itself and most examples
are in the manuals that are compiled mainly in the pages:
http://potuz.net/reference/algebras/sage/algebras/vertex_algebras/vertex_algebra.html
http://potuz.net/reference/algebras/vertex_algebras/vertex_algebras.html
http://potuz.net/reference/algebras/lie_conformal_algebras/lie_conformal_algebras.html
http://potuz.net/reference/algebras/poisson_vertex_algebras/poisson_vertex_algebras.html
The patch is not small and is bound to have tons of mistakes/bugs. I'd love to
hear any feedback you may have.
I understand that reviewing this may be an ungratifying pain. It was suggested
by Frédéric Chapoton and Travis Scrimshaw that I should break this patch in
smaller pieces in order to get it reviewed.
I am happy to do so, but before doing so I wanted to ask opinions here. In
principle I could remove all examples of these algebras and leave one to
doctest, then break into Lie conformal algebras + vertex algebras + poisson
vertex algebras and try to remove the overlap between these classes: like
lifting from a Lie conformal algebra to its universal enveloping algebra, or
taking classical limits from a vertex algebra to a poisson vertex algebra, or
the fact that Poisson vertex algebras are Lie conformal algebras and inherit
some of the methods from that category, etc.
Now that I am writing this e-mail I realize that it may be a harder task than
I thought. But the point I wanted to make/ask is whether or not this is worth
it or even if it is a good model? It looks to me that it will put an
unnecessary burden on my part with no gain for the reviewer (besides having
less code to read). Maintaining it would be much harder, and the set of
examples that the documentation would have would be much smaller. It also
looks to me that is actually more error-prone to have bits an pieces of code
carefully divided to not break something that was already working as a whole,
and to finally have it assembled again.
Please take a look at the above pages and you'll see quite a variety of
examples, most, if not all, would be gone if I were to divide this into
smaller pieces. I get the impression that this does a disservice to someone
that wants to read the code.
Anyway,
I hope someone can take this up. As it stands now it is already useful to me
and to my collaborators to have one repository from where they can clone that
branch.
Best,
R.