Re: [sympy] Re: GsOC 2025 : Interest in Implementing Power Series Domain in SymPy

2025-03-30 Thread Jatin Bhardwaj
 

Hello Oscar,

Thank you for your detailed explanations on every point I raised. I truly 
appreciate your insights. I have now completed my draft proposal for the 
project, taking into account all the points we discussed.

As you suggested, my initial focus will be on univariate series. I also 
acknowledge that handling the multivariate case could be tedious and 
possibly unachievable within the given time frame, so I will limit my scope 
to univariate cases for now.

Regarding expressions with constant terms, I have decided to raise an error 
for such cases, as they are not expandable in domain like QQ. I believe 
that the current approach in ring_series—treating expressions like sin(1) 
and cos(1) as generators—is not ideal, as it alters the ring structure. I 
have elaborated on this issue in my *Extended Goals* section and proposed 
how I would like to research and address it in the future.

Additionally, I have updated my proposal based on your suggestion to *copy 
and adapt* the ring_series implementations into a new structure, rather 
than importing the existing rs_functions directly.

I would love to hear your feedback on my proposal and any further guidance 
on potential improvements or implementation ideas.

GSoC Proposal 


Lastly, I have a query regarding mentorship. As I understand, having a 
mentor is crucial for increasing the chances of project selection. I would 
be truly honored if you could be a potential mentor for this project. If 
not, could you kindly guide me towards other mentors who might be 
interested in overseeing this work?

Looking forward to your feedback!


Best regards,

Jatin Bhardwaj
On Saturday, 29 March 2025 at 22:38:43 UTC+5:30 Oscar wrote:

> On Mon, 10 Mar 2025 at 14:51, Jatin Bhardwaj  
> wrote:
> >
> > Hello Sympy Developers,
> >
> >
> > I have recently started planning the design and integration of the Power 
> Series domain and would appreciate some guidance on key structural 
> decisions.
> >
> > Currently, my implementation revolves around three primary classes:
> >
> > Domain
> > Ring
> > Element
> >
> > However, as I proceed further, I have a few questions:
> >
> > 1. Where should core functionality be implemented?
> >
> > Should functions like exp, sin, cos be implemented natively in the 
> Element class, or should we rely on the existing ring_series implementation?
>
> The ring_series implementations could potentially still be used but it
> might be better to copy them into a new structure.
>
> > If we use ring_series, what would be the best way to handle cases where 
> a function is not well-defined due to the presence of a constant term in 
> the expression?
>
> For basic series types like QQ[[x]] meaning the ring of power series
> with rational coefficients this should just raise an error if the
> series cannot be represented using rational coefficients. There should
> be a higher-level series type that can handle implicitly creating the
> necessary coefficient domain.
>
> > 2. Additional Questions
> >
> > Currently, multivariate expansion considers one term as a variable while 
> treating the rest as constants.
>
> I haven't investigated this in detail but I think it is probably a
> mistake to use multivariate polynomials for representing univariate
> series the way that the ringseries module does. At least if this
> representation is more efficient or something then it should be
> handled in a way that is transparent to the user.
>
> > Would implementing a more generalized multivariate expansion be feasible 
> within the project timeline? If so, how should constant terms be handled in 
> such an expansion?
>
> Constant terms should be handled the same way. I would just focus on
> univariate series for now.
>
> > Would introducing more trigonometric functions in ring_series be a good 
> idea?
>
> Yes, more trig functions would be good.
>
> --
> Oscar
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/64462cef-2619-48b3-836b-467250d6c9bdn%40googlegroups.com.


[sympy] GSoC 2025: Implementing Typst Printer and Parser

2025-03-30 Thread xzdlj
Dear Developers,
I'm preparing to implement a *Typst* printer and parser for Sympy.
I had already partially implemented the printer last year(#26814 
) , but it was put on hold due 
to academic commitments. Now, I'm hoping to participate in GSoC 2025, and 
here is my proposal wiki page:Implementing Typst Printer and Parser 

.
I'm not sure if this idea is a good fit for a GSoC proposal, and I haven't 
yet found a mentor to approach.  
I would appreciate any feedback on the GSoC aspects as well as any 
suggestions regarding the printer and parser implementation.  

Best regards,
Zhenxu Zhu

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/140ed3dd-c40d-4337-8f89-aab9bf0b7d0cn%40googlegroups.com.


Re: [sympy] Help needed: guidance on group theory

2025-03-30 Thread Voaides Negustor Robert
The algorithm in itself, as seen in the issue, is further detailed in the 
handbook of computational group theory 
,
 
from which I have done more serious research.
So I think it should be correct.

However, review is greatly appreciated.
On Saturday, 29 March 2025 at 15:04:16 UTC+2 Oscar wrote:

> The problem with that PR is that it is for a part of the codebase that
> is not known well by any of the regular sympy contributors. The code
> as implemented seems to come from the linked issue but there that code
> was shown by someone who was asking about it rather than making a
> clear claim that the code is correct.
>
> If anyone else on the mailing list here has experience with sympy's
> group theory functionality then it would be good if they can verify
> whether or not the code is correct.
>
> On Sun, 16 Mar 2025 at 16:41, Voaides Negustor Robert
>  wrote:
> >
> > Hello everyone,
> >
> > I’ve submitted a PR (#27730) adding functionality to 
> sympy.combinatorics, specfically for permutation groups, but it has gone 
> unnoticed. I couldn’t find a reviewer familiar with the module.
> >
> > If anyone can review it or point me to the right person, I’d really 
> appreciate it.
> >
> > Best,
> >
> > Robert
> >
> > --
> > 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/0769de67-526a-4ba4-85ec-b2e461fefd40n%40googlegroups.com
> .
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/fa4bb130-ec4f-4797-ada4-43abe1a7df84n%40googlegroups.com.


Re: [sympy] Help needed: guidance on group theory

2025-03-30 Thread Oscar Benjamin
I'm not going to read a textbook to review the pull request. Please
explain clearly on the pull request what the code does, where the
algorithm comes from, why it is correct and whether it is reasonable
from a performance perspective.

Don't assume that anyone reviewing the pull request understands even
what any of the relevant sympy functions does (I don't). I'm happy to
review it but you will need to convince me that it is correct without
me needing to spend any significant time going over that part of the
codebase.

On Sun, 30 Mar 2025 at 19:12, Voaides Negustor Robert
 wrote:
>
> The algorithm in itself, as seen in the issue, is further detailed in the 
> handbook of computational group theory, from which I have done more serious 
> research.
> So I think it should be correct.
>
> However, review is greatly appreciated.
> On Saturday, 29 March 2025 at 15:04:16 UTC+2 Oscar wrote:
>>
>> The problem with that PR is that it is for a part of the codebase that
>> is not known well by any of the regular sympy contributors. The code
>> as implemented seems to come from the linked issue but there that code
>> was shown by someone who was asking about it rather than making a
>> clear claim that the code is correct.
>>
>> If anyone else on the mailing list here has experience with sympy's
>> group theory functionality then it would be good if they can verify
>> whether or not the code is correct.
>>
>> On Sun, 16 Mar 2025 at 16:41, Voaides Negustor Robert
>>  wrote:
>> >
>> > Hello everyone,
>> >
>> > I’ve submitted a PR (#27730) adding functionality to sympy.combinatorics, 
>> > specfically for permutation groups, but it has gone unnoticed. I couldn’t 
>> > find a reviewer familiar with the module.
>> >
>> > If anyone can review it or point me to the right person, I’d really 
>> > appreciate it.
>> >
>> > Best,
>> >
>> > Robert
>> >
>> > --
>> > 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/0769de67-526a-4ba4-85ec-b2e461fefd40n%40googlegroups.com.
>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion visit 
> https://groups.google.com/d/msgid/sympy/fa4bb130-ec4f-4797-ada4-43abe1a7df84n%40googlegroups.com.

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/CAHVvXxT-BNDK0zVtDiEHJCjd9MgazyepL3ZdEw0X5iyyHXW5oA%40mail.gmail.com.


Re: [sympy] fyi, Sympy 1.13.3 dsolve test

2025-03-30 Thread 'nma%12...@gtempaccount.com' via sympy
" Is there an easy way to access this database of differential equations?"

The following ZIP file 

  
contains current collection of the independent computer algebra 
differential equations tests for sympy.

This zip file contains about 20,000 files. Each file is numbered as 1.py 
2.py, etc 

Each file per one problem. The number is the internal ode ID in the data 
base. 

Each file has all the python commands ready to run inside the file. So 
nothing to type. To run simply do

python  1.py
python  2.py
etc...

For example 1.py is
>cat 1.py
--
from sympy import * 
x = symbols("x") 
y = Function("y") 
ode = Eq(-2*x + Derivative(y(x), x) - 1,0) 
ics = {y(0): 3} 
the_solution=dsolve(ode,func=y(x),ics=ics) 

print(the_solution)



Here are some example

>python  1.py 
Eq(y(x), x**2 + x + 3)

>python  100.py 
Eq(x(y), C1*y**2 + C1 - I*y**2*log(y - I)/4 + I*y**2*log(y + I)/4 + y/2 - 
I*log(y - I)/4 + I*log(y + I)/4) 

>python  19000.py 
[Eq(y(x), pi - acos((exp(C1) - 6*exp(C1 + x) + 15*exp(C1 + 2*x) - 20*exp(C1 
+ 3*x) + 15*exp(C1 + 4*x) - 6*exp(C1 + 5*x) + exp(C1 + 6*x) + 1)/(-exp(C1) 
+ 6*exp(C1 + x) - 15*exp(C1 + 2*x) + 20*exp(C1 + 3*x
) - 15*exp(C1 + 4*x) + 6*exp(C1 + 5*x) - exp(C1 + 6*x) + 1))/2), Eq(y(x), 
acos((exp(C1) - 6*exp(C1 + x) + 15*exp(C1 + 2*x) - 20*exp(C1 + 3*x) + 
15*exp(C1 + 4*x) - 6*exp(C1 + 5*x) + exp(C1 + 6*x) + 1)/(-e
xp(C1) + 6*exp(C1 + x) - 15*exp(C1 + 2*x) + 20*exp(C1 + 3*x) - 15*exp(C1 + 
4*x) + 6*exp(C1 + 5*x) - exp(C1 + 6*x) + 1))/2)] 

>python  28.py  #failed to solve
False 

>python  36.py #generates exception
Traceback (most recent call last): 
 File 
"/mnt/g/public_html/my_notes/CAS_ode_tests/reports/maple_2024_2_mma_14_2/sympy_ode_problems/36.py",
 
line 6, in  
   the_solution=dsolve(ode,func=y(x),ics=ics) 
 File "/usr/lib/python3.13/site-packages/sympy/solvers/ode/ode.py", line 640, 
in dsolve 
   return _helper_simplify(eq, hint, hints, simplify, ics=ics) 
 File "/usr/lib/python3.13/site-packages/sympy/solvers/ode/ode.py", line 670, 
in _helper_simplify 
   sols = solvefunc.get_general_solution() 
 File "/usr/lib/python3.13/site-packages/sympy/solvers/ode/single.py", line 
283, in get_general_solution 
   return self._get_general_solution(simplify_flag=simplify) 
  ~~ 
 File "/usr/lib/python3.13/site-packages/sympy/solvers/ode/single.py", line 
1043, in _get_general_solution 
   return solve_riccati(fx, x, b0, b1, b2, gensol=True) 
 File "/usr/lib/python3.13/site-packages/sympy/solvers/ode/riccati.py", 
line 892, in solve_riccati 
   presol = [Eq(fx, riccati_inverse_normal(y, x, b1, b2, 
bp).cancel(extension=True)) 
for y in sols] 
~~^^ 
 File "/usr/lib/python3.13/site-packages/sympy/solvers/ode/riccati.py", 
line 246, in riccati_inverse_normal 
   return -y/b2 + bp 
  ^^ 
TypeError: bad operand type for unary -: 'list' 

>python 10.py 
Eq(y(x), -x*exp(-x) + 2 - exp(-x)) 
>

etc

The list of problems that generated internal sympy exception are given in 
section 
5.7 


Regards,
--Nasser

On Saturday, March 29, 2025 at 8:12:49 AM UTC-5 Oscar wrote:

> Thanks Nasser.
>
> Is there an easy way to access this database of differential equations?
>
> It would be useful for SymPy to test against things like this in CI 
> somehow.
>
> Oscar
>
> On Thu, 13 Mar 2025 at 22:19, 'nma%12...@gtempaccount.com' via sympy
>  wrote:
> >
> > fyi:
> >
> > This post is also available in plain text here
> >
> > Sympy 1.13.3 dsolve was added to the current
> > Computer Algebra Independent Differential Equations tests.
> >
> > This version of the tests has about 20,000 differential equations.
> >
> > This is the final result showing percentage solved
> > --
> >
> > Maple 2024.2 (windows 10) 96.219%
> > Mathematica 14.2 (windows 10) 95.592%
> > Sympy 1.13.3 (Linux) 70.477%
> >
> > In the above result, a problem which was solved by Sympy using
> > series when hint is not series, is considered as not solved.
> >
> > No verification is made if solution is correct or not for any CAS.
> >
> > 3 minutes timelimit was given to solving each ode, else it is considered 
> failed.
> >
> > The pdf and web pages contain full details and lookup tables
> > with the complete commands used for each problem in plain
> > text to make it easy to copy each command from either the pdf or
> > the web page and try it yourself.
> >
> > For sympy, there are also lookup tables showing all the
> > exceptions generated and links to each problem with with exception. This
> > is in section 5.7.
> >
> > There were 625 problems which generated an exception.
> >
> > These do not include standard exceptions such as "NotImple

Re: [sympy] GSoC 2025: Cylindrical algebraic decomposition

2025-03-30 Thread Alex Garcia
  Hello SymPy community

I just uploaded my application (Implementing Cylindrical Algebraic 
Decomposition (CAD) to the wiki. I would appreciate any feedback, 
suggestions for improvement, or corrections. Thank you very much in 
advance.  

Alex

El sábado, 29 de marzo de 2025 a las 16:16:01 UTC+1, Alex Garcia escribió:

> Hi Oscar,
>   Thank you very much for your response. I will keep it in mind for my 
> technical proposal.
>
> Alex  
>
> El sábado, 29 de marzo de 2025 a las 13:46:48 UTC+1, Oscar escribió:
>
>> Hi Alejandro, 
>>
>> Yes, we would still like to have CAD. I believe the work on it has 
>> stalled probably because mmaaz-git is busy with other things. I think 
>> a first step would be to try to finish the PR that did not get merged 
>> by taking the commits from there, rebasing them to current master, and 
>> then opening a new PR. 
>>
>> Oscar 
>>
>> On Fri, 21 Mar 2025 at 18:12, Alex Garcia  
>> wrote: 
>> > 
>> > Hello to the entire SymPy community! 
>> > 
>> > My name is Alejandro García Prada, and I am a third-year student 
>> pursuing a Double Degree in Mathematics and Software Engineering at 
>> Universidad Rey Juan Carlos in Madrid, Spain. 
>> > 
>> > I am interested in the Cylindrical Algebraic Decomposition (CAD) 
>> project. I have been studying the topic for several weeks through the 
>> references listed on the ideas page, and I have also read with interest the 
>> existing PRs related to it. From what I’ve seen, CAD is an algorithm with 
>> doubly exponential worst-case complexity. However, there are several 
>> approaches to reduce this algorithmic complexity. One of them is using the 
>> Hong projection operator, for which there is already an open PR: 
>> https://github.com/sympy/sympy/pull/26785. 
>> > 
>> > I would like to know the current status of this algorithm. As far as I 
>> understand, the two main PRs currently related to this topic are the one 
>> mentioned above and this one, which deals with computing subresultants that 
>> could be used for the CAD algorithm: 
>> https://github.com/sympy/sympy/pull/27088. 
>> > 
>> > Do you think a good approach to developing this idea would be to 
>> continue working from the code by mmaaz-git (author of the mentioned PRs), 
>> or would it be better to start from scratch? Are there any additional PRs 
>> or SymPy modules that you consider essential to be familiar with in order 
>> to take on this project? 
>> > 
>> > Finally, I would like to mention that I have also read about some 
>> improvements to the algorithm, such as TTICAD, which are detailed in the 
>> following document: 
>> https://davidjohnwilson.github.io/publications/djwthesis.pdf. While it 
>> may not be applicable in all cases, it helps avoid some unnecessary 
>> decompositions in certain situations. 
>> > 
>> > Thank you very much in advance. I truly appreciate any feedback, 
>> additional guidance, or corrections. 
>> > 
>> > Best regards, 
>> > Alejandro 
>> > 
>> > -- 
>> > 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/c476062e-2773-43ff-a2ce-d4ca35e0f0b6n%40googlegroups.com.
>>  
>>
>>
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/62b15568-a481-45f3-bee4-d20651c5a4d2n%40googlegroups.com.


Re: [sympy] GSoC 2025: Seeking Feedback on Assumptions System Research & GSoC Project Choice

2025-03-30 Thread Tilo RC
Hi Krishnav,

I recommend reading the following if you haven't already: 
https://github.com/sympy/sympy/wiki/Assumptions#the-aims-of-assumptions

Tilo Reneau-Cardoso

On Saturday, March 29, 2025 at 4:05:24 PM UTC-7 bajoria...@gmail.com wrote:

> Hi Tilo,
>
> Thank you for your feedback and for pointing out these issues.
>
> Regarding the paraphrasing and referencing, I understand my mistake. 
> Moving forward, I'll be more clear when distinguishing between your 
> original content and my own thoughts by adding footnotes. Additionally, 
> when paraphrasing content from specific issues, I'll include links to those 
> issues in the reference section for better traceability. I apologize for 
> the lack of clarity in the previous version and will correct this in my 
> next revision.
>
> As for the distinction between Q.gt(x, 0) and Q.positive(x), I realize I 
> misunderstood the difference. You're right—Q.positive(x) does indeed 
> imply that x is real, whereas Q.gt(x, 0) allows for x to be extended 
> real, which might include infinite values. I'll revise the proposal to 
> accurately reflect this distinction.
>
> Thanks again for your observation and guidance. I'll make sure the next 
> version addresses these points properly.
>
> Best regards,
> Krishnav Bajoria.
> On Sun, Mar 30, 2025 at 4:24 AM Tilo RC  wrote:
>
>> Hi Krishnav,
>>
>> I skimmed through your proposal. Could you make it more clear when you're 
>> paraphrasing something I wrote vs your own original thoughts? It would be 
>> good if you added footnotes for this sort of thing. Also, if you're 
>> paraphrasing stuff I wrote in particular issues, you should add links to 
>> those issues in the reference section. 
>>
>> One more thing: Q.gt(x, 0) and Q.positive(x) are not supposed to be 
>> equivalent. Q.positive(x) implies that x is real whereas Q.gt(x, 0) implies 
>> x is extended real (it might not be finite).
>>
>> Tilo Reneau-Cardoso
>>
>> On Sat, Mar 29, 2025 at 3:11 PM Krishnav Bajoria  
>> wrote:
>>
> Dear SymPy Community,
>>>
>>> I have completed the first draft of my GSOC 2025 proposal titled 
>>> *"Improving 
>>> Relational Reasoning and Introducing Quantifier Support in SymPy's 
>>> Assumptions Framework." Y*ou can find the proposal at this link 
>>> 
>>> .
>>>
>>> I would greatly appreciate it if you could review the proposal and share 
>>> any suggestions or feedback on how I can make it better. Your insights 
>>> would be invaluable in refining the proposal further.
>>>
>>> Thank you for your time and support!
>>>
>>> Best regards,
>>> 
>>> 
>>> Krishnav Bajoria.
>>>
>>> -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "sympy" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/sympy/XSJuvibPOro/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> sympy+un...@googlegroups.com.
>>> To view this discussion visit 
>>> https://groups.google.com/d/msgid/sympy/CAF0TZutDGaxUcgVK71ZzokOWN_87%3DwVzFA4F%2BaJXyNBhkpy3Sw%40mail.gmail.com
>>>  
>>> 
>>> .
>>>
>> -- 
>>
> 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/CAEgDm30-yGWbb-0cxdn48p%3DquWqi3ez%3DrRKLG7KNi7amajvzqg%40mail.gmail.com
>>  
>> 
>> .
>>
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/9929ab3d-6e37-481a-8c4e-a4b3704a3010n%40googlegroups.com.


[sympy] GSoC Proposal: Group Theory in SymPy

2025-03-30 Thread kshipra wadikar
Subject: GSoC Proposal: Group Theory in SymPy

Hi SymPy Team,

I am De. Kshipra Wadikar, and I have a PhD in Noncommutative Algebra.
I am interested in contributing to SymPy's Group Theory module for GSoC
2024.
I have experience with Python and GAP and would like to work on
implementing algorithms for finitely presented groups and automorphism
groups.

I read Divyanshu Thakur's GSoC 2019 project, which introduced polycyclic
groups, coset enumeration, and homomorphisms.
Here is a short summary of my proposal:
1. Improve coset enumeration (Todd-Coxeter algorithm)
2. Implement Reidemeister-Schreier method for subgroup presentations
3. Compute automorphism groups of finitely presented groups


Would this be a good project for SymPy? I’d love to get your feedback
before submitting the full proposal.

Thank you!

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/CADCaQTKbsMMEcUsBujj%3Dz%2BLf%3DriMt71SaVoiiEwTXFG6P_LPHw%40mail.gmail.com.


[sympy] Efficient Equations of Motion Generation

2025-03-30 Thread LUIS ANGEL MELENDEZ CHAVERO
Hello everyone,

I'm applying for GSoC 2025 with SymPy and would like to share my draft 
proposal for feedback.

Project: Efficient Generation of Equations of Motion
GitHub Notebook: 
https://github.com/LuisOfL/GSoC2025-SymPy/blob/main/GSoC.ipynb
Pull Request:  https://github.com/sympy/sympy/pull/27858

I welcome any feedback to improve my proposal before I officially submit it.

Thanks in advance!

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/4ac5826c-841a-4e41-9751-6f7828aa2ad3n%40googlegroups.com.


Re: [sympy] Re: GSoC 2025: Looking for Feedback on SymPy Control Systems Ideas

2025-03-30 Thread Jason Moore
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


On Sun, Mar 30, 2025 at 7:14 PM Leonardo Mangani 
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
> moore...@gmail.com 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 sympy+un...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/sympy/08aff550-53d9-45b0-a9ef-4804bdbc03d9n%40googlegroups.com
> 
> .
>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/sympy/c5dbb3a8-ba24-458d-8d00-567c555da65an%40googlegroups.com
> 
> .
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/CAP7f1Ahob6ap4ZE4vbLa_h6vY5YVtMWFt44byEz%3D8brTP1j2ag%40mail.gmail.com.


Re: [sympy] GSoC 2025: Implementing Typst Printer and Parser

2025-03-30 Thread Jason Moore
Hi Zhenxu,

I recommend picking either the printer or the parser as the scope, not
both. Maybe you could do both in a 350 hour project, but I'm not sure.

I think lately people are trying to move to Lark as the parser tool and
away from ANTLR. A project that does this for the existing ANTLR parsing
would be more beneficial long term than adding a new printer/parse language.

Adding Typst support is welcome.

Jason
moorepants.info
+01 530-601-9791


On Sun, Mar 30, 2025 at 10:01 PM xzdlj  wrote:

> Dear Developers,
> I'm preparing to implement a *Typst* printer and parser for Sympy.
> I had already partially implemented the printer last year(#26814
> ) , but it was put on hold due
> to academic commitments. Now, I'm hoping to participate in GSoC 2025, and
> here is my proposal wiki page:Implementing Typst Printer and Parser
> 
> .
> I'm not sure if this idea is a good fit for a GSoC proposal, and I haven't
> yet found a mentor to approach.
> I would appreciate any feedback on the GSoC aspects as well as any
> suggestions regarding the printer and parser implementation.
>
> Best regards,
> Zhenxu Zhu
>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/sympy/140ed3dd-c40d-4337-8f89-aab9bf0b7d0cn%40googlegroups.com
> 
> .
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/CAP7f1AiDWHXtR5pamGRtDV3zuPK137YQLwsu-fJ2K%3DG8v2nNbQ%40mail.gmail.com.