GSoC 2025: Introduction and Potential Project Ideas

70 views
Skip to first unread message

Keyron Linarez

unread,
Mar 19, 2025, 3:22:38 AMMar 19
to sympy
Hello! My name is Keyron and I am a senior at Pomona College in Claremont, California. I am majoring in computer science with a minor in mathematics, and I am very interested in working with SymPy through GSoC. I love how community-oriented SymPy is, and I’d love to be a part of it while improving my programming and open-source skills!

I have about 4 years of Python experience, gained through a combination of personal projects, reinforcement learning research, and data science work in my college courses. I am most comfortable in Python, but I am also proficient with Rust and Scala.

I am very interested in control theory and machine learning; Currently, I am blending these interests in a personal project, where I am implementing model predictive control to autonomously drive a classic racing game, F-Zero!

On the math side, I have discrete math and graph theory experience, gained through classes and research opportunities. I’ve also taken semester-long courses in Real Analysis, Data Mining, and Statistics for Data Science.

I learned about SymPy last fall from my peer Tilo, who previously contributed through GSoC. Their work piqued my interest in open source, and I’ve begun working with him this semester in hopes of joining SymPy for the summer. 

Thus far, I’ve identified the following projects as the best suited to my skill set.

1. New Assumptions System:

I would love to work on improving the new assumptions system, and I believe refactoring and speeding them up would make a great summer project. I’ve been working on this pull request (#27698 ), and plan on working on improving inequality handling with non-rational coefficients next. There is a lot of prior and continued work for the new assumptions system, and I would really love to be a part of it!


2. Symbolic Control Systems:

Working on symbolic control systems and refactoring the old plots sounds very fun, and I am interested in seeing how SymPy interoperates with NumPy and Matplotlib. I align with the mission to make this system more accessible, but I am less sure about where to start here - any pointers would be greatly appreciated!


I’d love to hear everyone’s thoughts on which of these projects would be the best fit for me, and any guidance on where to dive in—thank you!

Jason Moore

unread,
Mar 21, 2025, 10:40:11 PMMar 21
to sy...@googlegroups.com
Hi Keyron,

For:

> Working on symbolic control systems and refactoring the old plots sounds very fun, and I am interested in seeing how SymPy interoperates with NumPy and Matplotlib. I align with the mission to make this system more accessible, but I am less sure about where to start here - any pointers would be greatly appreciated!

The key thing is that SymPy's control module should be unique from NumPy based control tools in that it provides symbolic solutions. This new PR is a nice example https://github.com/sympy/sympy/pull/27717#issuecomment-2740523770 showing how to compute the symbolic expressions that guarantee stability, rather than trying to calculate numerically whether a system is stable. Of course all symbolics in SymPy can be evaluated with numbers but the solutions our control library makes should be useful on its own.

For plotting, we should be using SymPy's plotting package for the plots so that we continually improve SymPy plot() to handle more advanced plots of symbolic functions. Ideally the control package would generate its plots with SymPy plot().

Jason


--
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 visit https://groups.google.com/d/msgid/sympy/2c405d7a-b580-49a8-9613-9e750c27cfcfn%40googlegroups.com.

Keyron Linarez

unread,
Apr 8, 2025, 12:29:23 PMApr 8
to sy...@googlegroups.com
Hello Jason,

Thank you for your response! I appreciate your feedback, and have a few questions.

My background in control theory comes from research in vehicle state estimation, specifically aimed at determining optimal decisions within a feedback loop. I am unclear on which control problems are best suited for symbolic solutions and when one should opt for SymPy over numerical control libraries.

As I work on my proposal, I’ve noticed the ongoing development of a new plotting module for SymPy. Currently, the control module relies heavily on Matplotlib for plotting, and it seems that removing this dependency is crucial for shifting from numerical to symbolic methods.

Would working to remove this dependency by continuing the work being done on plot_list or scatter_plot be the best approach to improve SymPy's plotting package? Additionally, can you tell me about the advantages symbolic methods provide in control contexts, and if there are specific functionalities that you believe are missing in the control module?

Thank you very much for your insight, and I look forward to hearing your response!

Keyron

Reply all
Reply to author
Forward
0 new messages