A start: https://github.com/sympy/sympy/wiki/Commutative-Algebra-Module

On 05.04.2012 19:14, Alexey U. Gudchenko wrote:
Greetings, Tom.

Can you write down (shortly, may be in wiki) an introduction of some
vision for those modules set: that is, main use-cases for the users and
use-cases for the developers ("they be able do that and that and that").

May be some examples exist now in the docstring examples, but the main
use-cases are interesting too (to evaluate the aims for those modules
and how they are related and collaborated with the others or about the
future  road-map of their modification).

In any case this will be useful for the documentation in the future.


--
Alexey Gudchenko

On 05.04.2012 20:02, Tom Bachmann wrote:
Dear all,

I'm currently on holidays and have started or writing a commutative
algebra / algebraic geometry module, something I have been wanting to do
for quite a long time. This will be quite a body of code, and I'm afraid
I don't know the proper etiquette in getting so much code into sympy,
outside the "gsoc cycle". I have been doing my best to break up
everything into manageble chunks, and to make pull requests at the
smallest possible size that seemed sensible to me - this turns out to
typically be about 800 LOC changed. There are currently three pull
requests wating:

- [1] implements low-level groebner basis code
- [2] extends the polys DMP and DMF types, and implements a domain
       for generalized polynomial rings
- [3] starts the commutative algebra module proper: it implements
       finitely generated free modules over generalized polynomial rings
       and their submodules.

There is also a tiny pull request [0] which may seem somewhat random,
but I believe it will come in handy when free resolutions are implemented.

I would be glad for any reviews. I believe there should be "something
for everybody": do you consider yourself an expert in groebner bases -
take a look at [1]. Are you worried about where the polys module is
going - take [2]. Do you want to critizise a new class structure - go to
[3]. Fancy to spare only a few minutes - look at [0].

I may be sounding a little pushy here, but the problem is that I am just
barely getting towards mathematics that I find interesting (homological
algebra), with what I actually want to do (algebraic geometry) still far
in the future. I have some amount of time over the next month or so and
I feel like I want to write a lot of code, but this is difficult if I
cannot get it pushed. I understand that this is a strain on everyone
doing the reviewing, and I'm obviously glad to "tit-for-tat" ("I review
yours, you review mine"). In fact I have been trying to increase my
reviewing work so as to encourage others to look at my code ;). (I am
aware of one large pull request [4], but each time I try I see that this
mostly changes parts of the core I am not really comfortable with.)

To give an idea of how much more there is to come, unless someone
decisively tells me to stop or convincingly argues that it is not going
to be merged (approx. one pull request per bullet point)

- ideals, quotient rings, free modules over quotient rings
- module homomorphisms, kernels, images
- quotient modules
- ideal operations: quotient, saturation, intersection
- chain complexes, free resolutions
- tensor and hom modules, Tor and Ext functors

Probably more than one PR each:
- radical of an ideal
- primary decomposition

This is what I see as the basics of commutative algebra. We are talking
about "naive" algorithms here (that is, obvious groebner basis
computations, no particular optimizations). After that I would start on
algebraic geometry.

Thanks,
Tom

[0] https://github.com/sympy/sympy/pull/1192
[1] https://github.com/sympy/sympy/pull/1190
[2] https://github.com/sympy/sympy/pull/1199
[3] https://github.com/sympy/sympy/pull/1209
[4] https://github.com/sympy/sympy/pull/1162



--
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to