Dear Dhrumil,
   I am happy to answer any specific question that you have.

A1) Any method whose *implementation* is common to the classes you want to 
combine. (Note also there are methods that can be provided by the category. 
There might be some things might be moved here, but most should already be 
here.) Note that this project is mostly not about bring things to common 
base classes but the functionality and uses provided by the two 
implementations (and any appropriate subclasses). That would also include 
closing speed differences between the two and more generic support for the 
infinite dimensional case.

A2) No, they provide completely different behaviors and have different 
uses. There are also specialized implementations for different base rings 
and other external libraries.

I can provide more specific feedback once there is a project proposal.

For the other project, you can easily find the documentation and 
implementations for plural and Sage's exterior algebra online and within 
the respective codebases. This would be a good starting point.

Best,
Travis

On Monday, March 18, 2024 at 5:03:34 PM UTC+9 dhrumil...@gmail.com wrote:

> Hello Dr. Travis Scrimshaw and SageMath community,
>
> I am Dhrumil,  a final year undergraduate pursuing B.Tech. in Information 
> Technology. I have been associated with SageMath community for about a 
> month now and wish to contribute to SageMath by participating in GSoC 2024.
>
> My current progress : 
>         (1) Have *successfully installed the developer version of Sage *and 
> *ran a few examples locally* to get acquainted.
>         (2) To contribute to Sage, I first *revisited all the abstract 
> algebra basics of groups, rings, vector spaces, modules*, etc.
>         (3) I tried to solve a few good first issues and *have linked 2 
> PRs *to the issues.
>
> I am particularly interested in *"Improve (free) module implementations" *
> project. 
> To understand the project, I have followed documentation and tutorial 
> available 
> Combinatorial free module documentation 
> <https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/free_module.html>
> Free module tutorial 
> <https://doc.sagemath.org/html/en/reference/modules/sage/modules/tutorial_free_modules.html>
>
> Here is *my approach and interpretation* of the project - 
>  
> SageMath has multiple implementations of free modules :  FreeModule - 
> *sage.modules.free_module*    and  CombinatorialFreeModule - 
> *sage.combinat.free_module*
>
>
> *Potential Project Implementation steps : *
> *(1) Creating a common abstract base class *
> this will contain all the common methods and attributes of both the 
> implementations
> Eg) Both implementations have basis() method, this can be included in the 
> common base class. Similarly change_ring() function is also common. 
>
> *(2) Integration of dense representation for CFM*
> Improvising the CFM implementation to support dense representations for 
> applications requiring heavy use of dense linear algebra.
>
> *(3) Refactoring both the implementations*
> Improving code readability, eliminating redundant code, deprecating 
> unwanted methods
>
> *(4) Proper documentation and testing with some examples*
>
> I am *unclear on a few things *in the project. 
>
> Q1) I was going through the codebase of sage.combinat.free_module and 
> sage.modules.free_module
> They have quite a number of methods (some with same names and some with 
> other names)
> What are the major methods which are to be shifted to a common base class 
> and which methods need to be explicitly present in the respective 
> implementation classes only?
>
> Q2) Also, I am unclear on why is there still a need to keep both the 
> implementations of free module? Can't there just be 1 free module 
> implementation?
>
> It would be beneficial if you can help me understand the project better. 
> I am also planning to write a proposal on the project. Once I draft the 
> proposal, It would be helpful if we can discuss the project proposal in 
> order to better address the project's objectives and implementation. 
>
> Along with this project, I am *also interested in "Coordinate the graded 
> commutative algebra and exterior algebra implementations and Gröbner bases" 
> *project.  I do not entirely understand this project at the moment and 
> currently, I am exploring Grobner basis.
> Please can you also provide me some resource in order to understand 
> *Singular's 
> plural library implementation* as well as *SageMath's implementation* *of 
> exterior algebra*. 
>
> Regards, 
> Dhrumil.
>
> On Saturday 24 February 2024 at 20:01:49 UTC+5:30 tcscrims wrote:
>
>> Dear Dhrumil,
>>    Thank you for your interest. You can find all of the information 
>> related to developing for Sage in our developer's guide:
>>
>> https://doc.sagemath.org/html/en/developer/
>>
>> For a list of project ideas and the application template, you can find 
>> the information on the following wiki pages, respectively:
>>
>> https://wiki.sagemath.org/GSoC/2024
>> https://wiki.sagemath.org/GSoC/Contributors
>>
>> Best,
>> Travis
>>
>> On Wednesday, February 21, 2024 at 9:36:12 PM UTC+9 dhrumil...@gmail.com 
>> wrote:
>>
>>> Hello SageMath community,
>>>
>>> I am Dhrumil Raigagla, a final year undergraduate pursuing B.Tech in 
>>> Information Technology at VJTI, Mumbai.
>>> I am *interested in contributing to SageMath and participating in GSoC 
>>> 2024*.
>>>
>>> Over the years, I have had immense curiosity in mathematics(including 
>>> *linear 
>>> algebra, discrete mathematics, number theory*). This interest of mine 
>>> aligns with projects of SageMath.
>>> I also went through the project proposals of SageMath for GSoC 2024.
>>>
>>> I am *proficient in python and C++ *and now, have around 3 years of 
>>> programming experience in both of these languages.
>>> Along with this, I have *worked on developing a python module* for 
>>> spectroscopy in my internship at Tata Institute of Fundamental 
>>> Research(TIFR).
>>> Further, I have also worked on other python projects and have explored 
>>> various technologies like *version control systems*, *java backend, web 
>>> development*, etc. 
>>>
>>> Any guidance on how to get started and make contributions to SageMath 
>>> will be appreciated. 
>>> Further, along with contribution guidelines, it will be beneficial if 
>>> you can provide some important pointers regarding GSoC application and 
>>> selection.
>>>
>>> Regards,
>>> Dhrumil Raigagla
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-gsoc+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-gsoc/dddd008a-82ac-4fef-94e8-ed219206ab49n%40googlegroups.com.

Reply via email to