Hi Kshitij,

Good to hear that you want to work on solvers. Here are my comments on your 
queries.

1. Search Based Solvers:

This idea is currently vague, we need to figure out how exactly
we can develop this. It would be ambitious to develop this idea and It 
should be
accompanied with lot of research. Currently an abstract is written in the 
docs:
https://github.com/sympy/sympy/blob/master/doc/src/modules/solvers/solveset.rst

2. Simplifying solutions returned from equations involving trigonometric 
expressions:

With the Introduction of solveset an important problem of representing 
infinite solution
has been solved to some extent, but still there are some issues with 
ImageSet Union,
due to which a lot of simpler results are not displayed properly. This 
needs to be figured
out to get better ImageSet Union.

In [10]: solveset(sin(x), x)
Out[10]: {2⋅n⋅π | n ∊ ℤ} ∪ {2⋅n⋅π + π | n ∊ ℤ}

In [11]: solveset(sin(3*x), x)
Out[11]: 
                                        ⎧        2⋅π        ⎫   ⎧       
 2⋅π  
{2⋅n⋅π | n ∊ ℤ} ∪ {2⋅n⋅π + π | n ∊ ℤ} ∪ ⎨2⋅n⋅π - ─── | n ∊ ℤ⎬ ∪ ⎨2⋅n⋅π + 
─── |
                                        ⎩         3         ⎭   ⎩         3 
  

      ⎫   ⎧        π        ⎫   ⎧        π        ⎫
 n ∊ ℤ⎬ ∪ ⎨2⋅n⋅π - ─ | n ∊ ℤ⎬ ∪ ⎨2⋅n⋅π + ─ | n ∊ ℤ⎬
      ⎭   ⎩        3        ⎭   ⎩        3        ⎭


Here is a previous approach on fixing this: 
https://github.com/sympy/sympy/pull/7673

3. Implementing more Equation solvers

A lot of thing which needs to be done is already done in old solve, like the
solving of multivariate equation solver, you need to figure out how that 
works
and how you can port those in solveset following the principles of solveset.
https://github.com/sympy/sympy/issues/10008

I found this paper [5] 
> <http://www.google.com/url?q=http%3A%2F%2Fwww.hpcc.unn.ru%2Fmskurs%2FENG%2FDOC%2Fpp09.pdf&sa=D&sntz=1&usg=AFQjCNHolKq7cLj2VMcZnHIxFTklyo1bPA>
>  
> which talks about implementing a parallel Gauss method for solving this 
> issue. Is it relevant ?


This paper seems like implementing linear system solver, which is already 
implemented as linsolve.

4.  Solving f(x + a) - f(x) = 0 equations: [7] 
<https://github.com/sympy/sympy/issues/10426>

This needs to figured out.



>    5. Building the set infrastructure:
> Implementing functions to handle multidimensional ImageSet
>       Can we be more elaborate on what other features are we expecting ? 



 See this for motivation: https://github.com/sympy/sympy/issues/10008


Best Regards,
Amit Kumar

On Tuesday, February 23, 2016 at 7:56:31 PM UTC+5:30, Kshitij Saraogi wrote:
>
> Hello,
>
>
> I am Kshitij Saraogi and I will be a GSoC applicant this year under SymPy.
>
>
> I wanted to discuss about the Solvers project.[1] 
> <https://github.com/sympy/sympy/wiki/gsoc-2016-ideas#solvers>
>
> After going through the discussions mentioned on the Ideas page, I would 
> like to get inputs on a few ideas for this project:
>
>
>   1. Search based Solvers [2] 
> <https://github.com/sympy/sympy/blob/master/doc/src/modules/solvers/solveset.rst#search-based-solver-and-step-by-step-solution>
> :
>
>       I find this idea quite intriguing. I understand only an abstract 
> view of the idea was presented there.
>
>       I think we should try to implement this as it would make the API 
> cleaner and robust.
>
>       Since, not much has been written about this, I would like to know 
> more about it.
>
>    - What is the methodology we are thinking to use for ranking solutions 
> (if any)?
>    - What would be the parameters on which the cost function of different 
> sets depend ?
>       So, I would appreciate guidance in this direction.
>
>
>    2.  Simplifying solutions returned from equations involving 
> trigonometric expressions:
>
>         The solveset module needs improvement with regards to the 
> trignometric equation solver. 
>
>         An equation,as simple as, sin(x)=0 gives an output which should be 
> simplified. 
>
>         This should be a big concern.
>
>         What would be some good starting points to get an overview of the 
> issue and possibly a few ideas to resolve this ?
>
>
>    3. Implementing more equation solvers: [3] 
> <https://github.com/sympy/sympy/issues/10006>
>
>    - 
>    
>    System of  multivariate linear equations.
>    - 
>    
>    Nonlinear multivariate equation solver.
>    - 
>    
>    Equations solvable by LamberW function (Transcendental equation solver)
>    - 
>    
>    Nested trignometric expressions.
>    
>  As Amit pointed out here[4] 
> <https://github.com/sympy/sympy/issues/10006#issuecomment-149339351>, 
> that we need (ii) and (iii) to make solveset at par with solve.
>
>          I found this paper [5] 
> <http://www.hpcc.unn.ru/mskurs/ENG/DOC/pp09.pdf> which talks about 
> implementing a parallel Gauss method for solving this issue. Is it relevant 
> ?
>
>          While fixing an issue [6] 
> <https://github.com/sympy/sympy/pull/10289>, I came to know that we need 
> a more reliable multivariate nonlinear equation solver.
>
>          I would like to know more about these solvers with respect to 
> their immediate need and the possible methods of their implementation.
>
>     
>
>    4.  Solving f(x + a) - f(x) = 0 equations: [7] 
> <https://github.com/sympy/sympy/issues/10426>
>
>          While going through some issues, I found that the current solvers 
> can’t handle these type of equations. 
>
>        
>
>    5. Building the set infrastructure:
>
>    - 
>    
>    Implementing functions to handle multidimensional ImageSet
>    
>       Can we be more elaborate on what other features are we expecting ?
>
> I would really appreciate if someone can point out the issues I may have 
> missed.
>
> Also, any relevant resources or links for further readings would help too.
>
>
> Thanks,
>
> Kshitij Saraogi
>

-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/98d1cacd-0ff4-45ef-a0b7-d4b1b2a47c28%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to