sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.48k stars 488 forks source link

Implement a custom class for Chow rings of matroids #36479

Open tscrim opened 1 year ago

tscrim commented 1 year ago

Problem Description

Right now, Chow rings of matroids are implemented using a generic quotient ring construction. However, we know an explicit Gröbner basis for a certain class of term orders. This is described in Sections 2.2 and 2.3 of https://arxiv.org/abs/2309.14312. We should implement a class that explicitly uses this Gröbner basis as a reduction scheme in order to improve computational speed.

Is there an existing issue for this?

trevorkarn commented 1 year ago

@tscrim are you thinking this should be implemented as a combinatorial free module or did you have something else in mind?

tscrim commented 1 year ago

It doesn’t have to be. It can use the polynomial quotient ring. The point is that we don’t want to generate all of the generators of the ideal nor the Gröbner basis to do the reduction since we already know what they should be. This would also improve backwards compatibility. However, doing it as a CFM has benefits as well, mostly around treating the objects as vectors in a vector space with respect to a fixed choice of basis. In my mind, it was more the former way of implementing it rather than a CFM, but it is up to you.

Sumit112192 commented 9 months ago

@trevorkarn, @tscrim Hello, would you suggest someone from the final year of undergraduate physics to work on this? This GSOC project mentioned linear algebra, combinatorics, and experience in reading research papers. I have taken introductory and overlapping courses on linear algebra and combinatorics, and as a physics student, I have read research papers. I don't know anything about matroids, though. Would it be feasible for me to learn and then work on it? Can it be done within the time constraint? Would you suggest that? I am fluent in programming in Python.

tscrim commented 9 months ago

@Sumit112192 This does require some knowledge of matroids, and it also requires some general knowledge about Grobner bases (but nothing too specific). You should also be able to read math research papers (which can be very different than in physics) and implicit in that is being able to understand and translate the results into code. Since GSoC is a coding-based program, you are expected to spend more of your time writing code than learning the requisite mathematics. I might instead suggest proposing a project that is closer to your experience/knowledge. This does not have to be listed on the ideas page and could include implementing certain algebras or concepts. If you have any other questions, please email me directly.

DitoluT commented 8 months ago

Hey, I am a second year Mathematics and Computer Science Student. I have taken several courses in group theory, ring theory and many more fields related to Algebra. I have also taken several courses related to python at University. Do you think it is an interesting project in which to be involved? I really find interesting algebra. Thank you!

tscrim commented 8 months ago

@DitoluT I don’t necessarily think this is so interesting of a project in the sense of the mathematical field of algebra (it has some aspect of that, but it is tilted more towards combinatorics). I do have some other projects that are fully within algebra that might also be better suited for your background from what you’ve said. Please send me an email directly so we can discuss things in more detail.

verreld7 commented 8 months ago

@tscrim Hello, I am a graduate in mathematics. I am knowledgeable in algebra and combinatorics from taking several coursework and reading many math papers before. I also have published a few papers in this field. Additionally, I am proficient in Python and have experience doing graph and symbolic mathematics with it. I have scanned the paper on this chow rings of matroids and I am deeply interested to join this project for the GSOC. Do you still have open position for this project? Would it be possible for me to be involved? Thank you!

tscrim commented 8 months ago

@verreld7 Please email me directly to discuss things.

Thakur-Avi commented 8 months ago

@tscrim Hello, I am a pre-final year engineering student with a good knowledge and interest in the field of algebra. I also have a good grasp on python and C++ programming languages, I worked upon various personal and university level projects and now I am looking forward to gain more knowledge by working along with an organization and I found sage as the best opportunity for me as here I can apply my knowledge of Algebra as well as programming at one place. I have gone through the research paper provided and I am interested in joining the project for GSoC. Is there any possibility for me to join this opportunity? Thank you.