*Plan for gsoc solvers project*



Overview: 


As per my knowledge linsolve, nonlinsolve(except 
trigonometric/transcendental equations) and solve_decomposition are already 
in a fully fledged mode and further we just need this functionality to be 
integrated with solveset .



So what I’ve decided is to integrate(link) solvers (linsolve, nonlinsolve, 
solve_decomposition) to solveset and resolve related (conflicting) 
dependencies over different modules (if we encounter). And further adding 
respective helper, check functions hence optimally designing the structure, 
ultimately to get faster solution. Finally an integrated form of linsolve, 
nonlinsolve, solve_decomposition, parallel with building respective set 
infrastructure( could be image set or multidimentional image set according 
to the nature of solution obtained ) can be established .


So the timeline could be anticipated as …


PHASE 1:

First week : 


Refactor the lambert equation (where I tried to do left part of {lambert 
solver for transolve #14972}  in {Rearranged Lambert solvers and resolving 
conflicting files #18759} . Here in this I tried to integrate some parts 
with _tsolve and solve to get outputs of failed tests in lambertW)



Second week : 


Here in modular equations, already it’s in  complete swing and no further 
work is required. Hence, it just have to be integrated with transolve 
function and resolve any resulting conflicts.



Third week : 


As mentioned above in overview, linear solve is to be integrated with 
solveset .



Fourth week : 


Documenting and finishing the remaining work .



1st week  : refactoring lambert equation (pr)

2nd week : modular equations 

3rd week  : linear solve

4th week  : documentation and left part 



PHASE 2:


Fifth week : 


solve_decomposition is to be integrated with solveset as mentioned in 
overview.



Sixth and Seventh week : 


In nonlinearsolve we have two tasks 

1. To make it more effective/improve in terms of 
trigonometric/transcendental equations which could be done through 
integrating effectively through solve function ( where it is able to solve 
this most of trigonometric/transcendental as it claims ) and finally 
manipulate optimally and more closely to develop this , and if it is not 
further able to solve then we have to add some bridges to make it fully 
fledged.

2.  To integrate this with solveset (as in overview).



Eight week:


Documenting and finishing the remaining work .

5th week : solve_decomposition

6th week : non lin

7th week : non lin

8th week : documentation and left part



PHASE 3:


Ninth and Tenth week : 


1. The differentiation of  complex and real part of solution and making of 
set infrastructure accordingly throughout code base where ever this might 
create conflicts more optimally.


Eleventh week and Twelfth week :

1. Documenting and finishing the remaining work .

2. Try to solve related issues or handle any unforeseen issue if encounter.


 9th week  : complex domain

10th week : complex domain

11th week : remaining part and documentation

12th week : try to solve related issues or handle any unforeseen issue if 
we come across



Problems which I came through :


1.  _is_lambert is not much perfect it should to be developed more, since 
it doesn’t return ‘pow’ rather ‘mul’ for 2a^x ( or 2*a**x) hence such 
expressions are not ultimately considered as lambert hence we obtain no 
lambert solution.


2.  It allows cos^3, sin^3 (or cos**3 , sin**3 ) as _is_lambert since it 
comes under pow, hence it is returning True , finally distorting the result 
by taking sin , cos as _is_lambert.






Sympy community, please give me suggestions and opinions on this rough 
estimated proposal .

-- 
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 on the web visit 
https://groups.google.com/d/msgid/sympy/36d2770f-016d-4807-9617-91d25d91df42%40googlegroups.com.

Reply via email to