This is great. I'll try to help review the non-trivial stuff, as much as I can. How long are you on holiday?
Aaron Meurer On Thu, Apr 5, 2012 at 10:02 AM, Tom Bachmann <e_mc...@web.de> 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.