GSOC Proposal

157 views
Skip to first unread message

Kuldeep Borkar

unread,
Apr 14, 2022, 7:46:06 AM4/14/22
to sympy
Hello SymPy Community,

I have almost completed my GSOC Proposal but there are few things I want to ask regarding some of the tasks I mentioned in my proposal:

1. Completing the Random Walks Prototype
Here, after working on the Random Walks  user might want to visualize his/her Random Walk generated in SymPy only, rather than having difficulty using matplotlib or other software's, therefore I added a Task in my proposal "Visualizing the Random Walk".

Now, since SymPy currently uses matplotlib to render plots so we can also use it to render plot for Random Walk too and also I came up with the idea that since matplotlib can generate animated plots so we can show animation for Random Walks too like:

RandomWalk.visualise(name="RW", dim=None, path = None, animated = True, save = False)

where,
name is a string,
dim = dimensions,
path = path generated by our RandomWalk function which I will complete as a part of my GSOC first,
animated = Boolean (Whether the user wants animated plot or not)
save = Boolean (Save the plot image or not)

I think this functionality in SymPy will be easy and good for user(Any feedback regarding this would be helpful)

I have been searching for a while regarding what would be the best way to plot the graphs then I generated some plots using matplotlib ( I will attach files at the end )

2. Identifying and Generating the Noise Processes

The same thing as of Random Walk goes to the Noise Processes too(Regarding the visualization).
Visualization method for noise processes would be very similar to Random Walk.

Also, since I learned about some modules which can generate samples for Noise Processes so I added a new functionality of Identifying the noise process like:

Noise.identify(X)

where, 
X = Array which contains sample of a noise process.

And if X belongs to a noise process then it will return True and the name of the noise else False.
This way we would be able to extend Sympy's stats module without implementing something which is already implemented somewhere else.

Example Output: True, Gaussian White Noise

Rest of the tasks included in my proposal are from the Sympy's GSOC Idea's Page(from Probability Section).

Kuldeep Borkar

unread,
Apr 14, 2022, 7:52:48 AM4/14/22
to sympy

Plots generated using matplotlib

1D Random Walk
random_walk1D.gif


Kuldeep Borkar

unread,
Apr 14, 2022, 7:53:41 AM4/14/22
to sympy
2D Random Walk

2D_Random_Walk(5).gif

Kuldeep Borkar

unread,
Apr 14, 2022, 7:54:24 AM4/14/22
to sympy
3D Random Walk

3D_Random_Walk.gif

Also, we can plot multiple runs at the same time.
Any feedback regarding this and how the idea is would be helpful.

I would be able to submit my proposal as soon as possible once I am more clear about the visualization topic.(Also I will share my proposal here first to receive any suggestions and feedback)

Thank You!

Kuldeep Borkar

unread,
Apr 16, 2022, 8:29:29 AM4/16/22
to sympy
Hello SymPy Community,
I completed writing my proposal although I was waiting if someone could reply as a suggestion or something like the idea suggested can be implemented in SymPy, yet no one replied 😢 as if the idea is not okay but I was hoping a reply even for that (earlier in the discussion https://groups.google.com/u/1/g/sympy/c/Klkds7_xp8s I thought I was not clear what I am trying to implement therefore I tried to keep it simple here what I am trying to do, so that anyone from the community would reply)


Earlier Peter replied towards my idea but he said he is not much familiar with SymPy's stats module (I would really appreciate any suggestion even if one is not much familiar with stat's module)

Even after completing my proposal I am still not clear if the idea of visualizing Random Walk and Noise Process and also implementing Noise Process and Identifying them is good to go or not😥.

April 19 is the deadline for submitting the proposal so, it would really be a great help for me if anyone could confirm regarding the idea I am trying to work on as a part of GSOC.
I am really interested to be a part of GSOC with SymPy to contribute something big to Open Source therefore, any suggestion, feedback will be helpful a lot.

I am sharing my proposal in View Only format for now (Any suggestions towards my proposal would really be helpful, please tell me if I should share a link in which comments could be allowed.)
It would also be great if anyone could tell me more about the relatable things which are implemented in SymPy's stats module and the tasks in my proposal are okay or not.

Also, can someone please tell me if we can submit our proposal in the google docs format or not.

Thank You!

Anutosh Bhat

unread,
Apr 16, 2022, 10:38:24 AM4/16/22
to sympy
Hello Kuldeep, 

I was going through your proposal , because I realize you haven't yet received any reviews on your proposal yet and also because submission deadline is approaching . 
I also read something about sympy's patch requirement for being accepted on the application template wiki couple days back so thought of informing you . It says the following 
  • Your patch must be code-related, not documentation (documentation fixes are welcome, but you must have at least one code related patch for the patch requirement). If your project will use a language other than Python (e.g., JavaScript), you should submit patches that use that language as well, so that we know that you know you are proficient in that language. However, for the patch requirement to be fulfilled, you must have at least one patch in SymPy itself.

And I realize all 4 of your accepted patches are documentation/docstring based as I was going through your contributions , hence you could maybe take a look if something needs to be done here as I am not sure. It's just something I was aware of. 
Also I had more things to say about the proposal content but It would be better if you could enable comments on your proposal which are currently disabled . How do you expect reviews without allowing comments on the doc !

Kuldeep Borkar

unread,
Apr 17, 2022, 2:44:18 AM4/17/22
to sympy
Thanks Anutosh for telling me about this thing that patch must be code-related.
Few days ago I created a PR which might help me to understand and complete one of the task included in GSOC in future if I am selected.
I think this could satisfy the patch requirement.

Oscar Benjamin

unread,
Apr 17, 2022, 7:29:31 AM4/17/22
to sympy
Hi Kuldeep,

I see that there is a proposal for working on probability in the ideas page:
https://github.com/sympy/sympy/wiki/GSoC-Ideas#probability

It is suggested there that Gagandeep Singh or Smit Lunagariya are
potential mentors. I have not seen much involvement from either of
these contributors recently which is perhaps why they haven't
responded to your proposal here.

They apparently thought that adding random walks was a reasonable
addition to the module but obviously the project could only go ahead
if someone was prepared to mentor it. I personally would not mentor
this project because I think that sympy in general should focus on
improving existing core features rather than adding new peripheral
features.

Oscar

Kuldeep Borkar

unread,
Apr 17, 2022, 8:25:50 AM4/17/22
to sy...@googlegroups.com
Thanks a lot for your reply Sir Oscar Benjamin,
you have always helped me in problems. It's okay if you will not be able to mentor the project.
I was interested in adding these features after I saw them on the Ideas list and mailed sir Gagandeep regarding the same and everything seemed to be okay at the starting when I just started writing my proposal and I think he was okay with the ideas I mentioned but I have not received anything after that.

It would still be helpful if you suggest something in my proposal like I was having a doubt regarding the Project hours as my project is intended to be of 350 hours so should I mention that on the proposal or not.(Or any feedback towards my proposal would be helpful)

And also it would be helpful if you take a look at the Pull Request I made almost a week ago and yesterday I got to know that the patch requirement is supposed to be a code related change in our merged Pull Request.

Is it something like my proposal would be rejected because I mentioned adding the two new features of Random Walk( from the idea's page) and Noise Processes in SymPy or should I change my proposal as the idea cannot be implemented in SymPy? (I will try my best to prepare another proposal if that's the case)

I really want to confirm this thing once that the idea I mentioned can be implemented or not. I am really confused with that ; ( 
GSOC is really a great opportunity for me at the moment to contribute something useful to Open Source and I don't want to miss it therefore I am worried regarding this thing.


--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxTtBSpX-FM3JOYQaVi5340UXspC4SWxJLwamesUPjjuMg%40mail.gmail.com.

Kuldeep Borkar

unread,
Apr 18, 2022, 2:19:05 PM4/18/22
to sympy
While submitting the GSOC Proposal it was mentioned to select whether the project is Large or medium size.
Also it was mentioned to get approval for this thing with the organization first otherwise it may result in rejection of the proposal.

(On the ideas page(in the probability section), it was mentioned to select 2 new features and 3 things from the Polishing API section for a large size project)
So, I have selected:
--> 2 New Features (Random Walk and Work on Circular densities) from the Idea's List, 
--> 2 things from the Polishing API section(sampling sub-module and reproducing the outputs of stochastic processes),
--> Implementation of Noise Process and Identifying them and
--> A method to visualize Random Walk and Noise Processes.

I consider these would be considered for a large size project.
It would be helpful if someone from the organization could confirm or approve this thing.

Thank You!

Reply all
Reply to author
Forward
0 new messages