Hi Jason, Thanks for your time and your feedback. I believe that refactoring the TransferFunction class is a good way to integrate discrete-time systems, as it allows for greater code flexibility. Many functions can be shared between the continuous-time and discrete-time versions. Although it's a significant effort, it leads to better code management and usability. Moreover, the design discussed in my proposal is focused in backward copatibility, every TransferFunction usage for the continuous-time version will be the same as before. I'm more than willing to discuss this further if needed to find the best alternative.
Regarding the plotting functionality, my decision to expand plotting for discrete-time was motivated by the idea to have a uniform physics.control module, ensuring that plotting works seamlessly for both continuous-time and discrete-time systems. However, if this feature is not deemed crucial, I can consider removing or reducing it in the proposal to better align with the 175-hour scope. Thank you again for your insights. I look forward to your thoughts. Leonardo Il giorno lunedì 31 marzo 2025 alle 07:53:17 UTC+2 [email protected] ha scritto: > HI Leonardo, > > Your proposal looks good so far. Here are a few comments: > > 1. I would caution you on refactoring the TransfefFunction class, as these > efforts are a lot of work for often little gain. You also have to keep > things backwards compatible. > > 2. Your scope is very large for 175 hours. > > 3. It is debatable whether adding all this plotting functionality to SymPy > is that useful. A user can create symbolic controls objects, substitute > numbers, and pass to python-control for many plots. Why do we need the > functionality in SymPy then? One reason could be that we can better plot > functions with adaptive sampling, but you can also combine python-control > with the an adaptive sampling plotter to get such results. So make sure > what you add is focused on symbolic utility. > > Jason > moorepants.info > +01 530-601-9791 <(530)%20601-9791> > > > On Sun, Mar 30, 2025 at 7:14 PM Leonardo Mangani <[email protected]> > wrote: > >> I uploaded my application to the wiki: >> https://github.com/sympy/sympy/wiki/GSoC-2025-Current-Applications. >> >> Il giorno domenica 23 marzo 2025 alle 20:57:19 UTC+1 Leonardo Mangani ha >> scritto: >> >> Dear Jason, >> >> I have been brainstorming potential features and improvements that might >> be a good fit for Sympy, and I would appreciate your initial thoughts on >> whether these ideas are valid and align with the project's roadmap. >> >> - Features that work well with symbolic calculations: >> - The Routh-Hurwitz conditions, which I am currently working on ( >> https://github.com/sympy/sympy/pull/27717). >> - Extend the support for discrete-time representations of >> state-space and transfer functions. >> - Implement the Jury Stability Criterion to derive conditions for >> discrete-time systems(a discrete-time version of the Routh-Hurwitz >> criteria). >> - Features that could work both numerically and symbolically (with >> limited symbols or assumptions): >> - Develop methods for computing the Z-transform and the inverse >> Z-transform. (The best approach might be to compute them via pole or >> root >> analysis). >> - Derive symbolic conditions under which a system is controllable >> and/or observable, based on the rank of the observability and >> controllability matrices. >> - Implement decompositions for stability and observability (both >> separate decompositions and the Kalman decomposition). >> - Introduce stability-related analyses directly into the >> StateSpace class, offering a more general approach. >> - Additional considerations if time permits: >> - Explore and address the remaining issues discussed here >> https://github.com/sympy/sympy/issues/26212 >> >> I am planning to start documenting these ideas further and prepare a >> detailed application if you think they are worth pursuing. >> >> Thank you very much for your time and guidance. I look forward to your >> feedback. >> >> Leonardo >> >> Il giorno mercoledì 12 febbraio 2025 alle 23:02:00 UTC+1 >> [email protected] ha scritto: >> >> Dear Leonardo, >> >> We welcome improvements to the control package. I encourage you to think >> about what things you can do with symbolics that numerical packages, like >> python-control, can't already do. A strong proposal for GSoC would >> highlight new features that leverage the symbolics. >> >> Jason >> moorepants.info >> +01 530-601-9791 >> >> -- >> >> 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 [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/sympy/08aff550-53d9-45b0-a9ef-4804bdbc03d9n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/sympy/08aff550-53d9-45b0-a9ef-4804bdbc03d9n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> -- >> 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 [email protected]. >> > To view this discussion visit >> https://groups.google.com/d/msgid/sympy/c5dbb3a8-ba24-458d-8d00-567c555da65an%40googlegroups.com >> >> <https://groups.google.com/d/msgid/sympy/c5dbb3a8-ba24-458d-8d00-567c555da65an%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- 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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/sympy/0241f561-0c8f-4d13-85b1-76c1c00603cdn%40googlegroups.com.
