1. in case 1 r_1=1, in case 3 r_i is not relevant since it's a simple 
   pole.
   2. The definition of the valuation at infinity is mentioned in section 
   5.1
   3. yes, I think so
   4. I think he just means using the method of undetermined coefficients 
   here

Some ideas are also explained in the first chapter of Fritz Schwarz' book: 
Algorithmic Lie theory for solving Ordinary Differential Equations. I think 
this chapter gives a good introduction, although it is going through the 
material at a high speed.


Best, Nijso


On Tuesday, 23 March 2021 at 13:45:19 UTC+1 [email protected] wrote:

> Hi Nijso,
>
> I have some doubts regarding Algorithm 11 
> <https://www3.risc.jku.at/publications/download/risc_5387/PhDThesisThieu.pdf>.
>  
> Please help me understand them -
>
> 1. In case 1 and 3 (Pg 79-80), is the value of r_i = 1?
> 2. How do we find the valuation v_inf(a(x))?
> 3. In step 7 of Algorithm 11 (Pg 82), it says we have to do the following 
> for "all possible combinations of these vectors". Since we have 1 vector 
> (d_-1, d_0, ..., d_N) and 2 vectors (c_i1, c_i2, ...) for each singular 
> point, does all possible combinations mean 2^n combinations (where n is the 
> number of singular points) as we can pick one of the two for each singular 
> point?
> 4. The paper mentions that all polynomial solutions of degree m for the 
> equation 5.16 (Pg 81) can be done using Linear Algebra. Could you please 
> elaborate on any algorithm to do so?
>
> Lastly, finding the coefficient vectors requires Laurent Series expansion. 
> I'm not sure if the series module can achieve this. There seems to be a 
> function laurent_series 
> <https://github.com/sympy/sympy/blob/ed83ca093f4c10d09b1edf624fd343de9966f225/sympy/integrals/risch.py#L1146>,
>  
> but I couldn't understand the documentation. Perhaps Oscar could help us 
> out here.
>
> Naveen
>
> On Friday, March 19, 2021 at 7:11:06 PM UTC+5:30 [email protected] 
> wrote:
>
>> Hi Naveen,
>>
>> Algorithm 11 is more general, as it is not limited to finding the 
>> rational general solution. I'm not sure how many cases will be missed by 
>> using algorithm 4, but in any case algorithm 11 is the one that is needed 
>> also for an extension to Kovacic algorithm. Preferably, algorithm 11 should 
>> then be set up in such a way that Kovacic method can easily call it, an 
>> alg.11 cal also later be called by a solver for first order rational ODEs 
>> that are not Riccati.
>>
>> the algorithm is also in the paper:
>>
>>
>> https://www3.risc.jku.at/publications/download/risc_5269/RISCReport1601.pdf
>>
>> For the Kamke database, we would need a list of ODEs and a list of 
>> solutions, and we need to find out which of these ODEs are directly 
>> solvable by the method. We might need additional ODEs from the paper, 
>> thesis, or our own to cover all cases.
>>
>> Best regards,
>> Nijso
>>
>> On Friday, 19 March 2021 at 07:23:10 UTC+1 [email protected] wrote:
>>
>>> Hi Nijso,
>>>
>>> I went through the roadmap and found that the paper  Rational and 
>>> algebraic solutions of first-order algebraic ODEs 
>>> <https://www3.risc.jku.at/publications/download/risc_5387/PhDThesisThieu.pdf>
>>>  has 
>>> a very detailed and simple-to-understand approach for finding solutions of 
>>> the Riccati Equation. However, there are 2 algorithms in the paper - 
>>> Algorithm 4 (Pg 59) which computes rational general solutions and Algorithm 
>>> 11 (Pg 82), which computes rational solutions of the equation. Which one is 
>>> more general and is better to be implemented?
>>>
>>> For the ODE test database, 12000.org has a listing of problems at 
>>> https://www.12000.org/my_notes/kamek/maple_listing.txt for Kamke ODEs. 
>>> If we require metadata about the ODEs, there is a general classification 
>>> given in Table 2 
>>> <https://www.12000.org/my_notes/kamek/mma_12_1_maple_2020/KEse1.htm#x3-2010r2>.
>>>  
>>> For detailed info, we could even parse the HTML pages for each ODE. A 
>>> similar structure exists for Murphy ODEs, so it may not be very difficult 
>>> to port these examples into SymPy using parse_expr or even the latex parser.
>>>
>>> Naveen
>>>
>>> On Thursday, March 18, 2021 at 2:57:55 AM UTC+5:30 Oscar wrote:
>>>
>>>> On Wed, 17 Mar 2021 at 13:54, [email protected] 
>>>> <[email protected]> wrote: 
>>>> > 
>>>> > I've started with a document: 
>>>> https://github.com/sympy/sympy/wiki/ODE-solver-roadmap 
>>>>
>>>> Yes, that looks good as an overall roadmap. It's written at the level 
>>>> that I can understand although I'd have to take time at some point to 
>>>> read some of the references. For GSOC students we might need to break 
>>>> it down into more explicit tasks but that should be done on the GSOC 
>>>> ideas page rather than in the roadmap though. A good description like 
>>>> this is really helpful for other contributors as well. It's good if 
>>>> the document can be as clear as possible with examples and can make it 
>>>> clear what the current state of the solvers in sympy is (e.g. there is 
>>>> a Lie group solver but I'm guessing it doesn't come close to what 
>>>> you're describing in the roadmap). 
>>>>
>>>> > I think the first thing to do is build a kind of regression test 
>>>> using e.g. the database of first order ODEs from the book of Kamke and see 
>>>> where we stand. Maybe somebody already did this? I started with making my 
>>>> own regression test a couple of months ago but other projects demanded my 
>>>> attention. I'm not so familiar with making regression tests, so I'll 
>>>> probably get back to you about how to set this up properly (I think I 
>>>> wanted to get much more output like time statistics I have to check). 
>>>>
>>>> I can certainly help if you are unsure how to make regression tests! 
>>>>
>>>> Mohit Balwani has recently refactored the ODE test suite into more of 
>>>> a database format which you can see here: 
>>>>
>>>> https://github.com/sympy/sympy/blob/master/sympy/solvers/ode/tests/test_single.py
>>>>  
>>>>
>>>> The examples there are not really systematic though. Mostly they come 
>>>> from either the author who added a particular method choosing examples 
>>>> that happen to work with that method or otherwise bug reports from 
>>>> users. There can be a reasonable rationale I think in having a 
>>>> database of examples from users coming in as bug reports since it 
>>>> shows what kinds of things people are trying to use the solver for but 
>>>> it is not like having the Kamke examples as a database. I would be 
>>>> interested just to see how dsolve currently measures. 
>>>>
>>>> > There is a nice website listing the performance of maple and 
>>>> mathematica for the ODE solvers: 
>>>> > 
>>>> http://www.12000.org/my_notes/kamek/mma_12_1_maple_2020/KEse1.htm#x3-20001 
>>>> > 
>>>> > An ODE solver that I wrote (for the maxima CAS) based on the symmetry 
>>>> papers from Cheb-Terrab and from Schwarz gave me a performance of around 
>>>> 86% for the first order, first degree ODEs, but very important classes are 
>>>> missing like solutions to Riccati and Bessel problems. 
>>>> > code: 
>>>> > https://github.com/bigfooted/maxima-odesolve/blob/master/ode1_lie.mac 
>>>> > with documentation here: 
>>>> > 
>>>> https://nbviewer.jupyter.org/github/bigfooted/maxima-odesolve/blob/master/Doc/ode1solve.ipynb
>>>>  
>>>> > 
>>>> > So by just making the existing symmetry solvers more robust we should 
>>>> get a similar performance without the solver getting stuck or crashing (I 
>>>> got 1 stuck and 1 crash, both in the Risch integration routine) 
>>>>
>>>> I'll need to take some time to read through these things at some point. 
>>>>
>>>> Your input on this would be extremely helpful as we don't have anyone 
>>>> involved in the ode module who has the level of experience that you 
>>>> have. At the moment most work is on improving the pattern matching 
>>>> system which is itself slow and badly organised. 
>>>>
>>>>
>>>> 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/77966f44-6303-42e2-a372-797fe09dbf10n%40googlegroups.com.

Reply via email to