Ah, I posted the link in the Gitter chat last night, but should have also 
poster 
here: 
https://docs.google.com/document/d/1cYyk2beU8d4XLtBV_Z-j7XLUpF4JOgROv1mHEcB1_rc/edit?usp=sharing
 
any feedback would be greatly appreciated!

On Monday, March 30, 2020 at 7:34:51 AM UTC-7, ondrej wrote:
>
> Note that the deadline for an application is tomorrow. If you want us to 
> provide feedback so that you can improve it, please post a draft as soon as 
> you can. 
>
> Ondrej 
>
> On Sun, Mar 29, 2020, at 5:02 PM, Jackson Morris wrote: 
> > Ah alright, I am relived to hear that - I started taking a look at some 
> > of the docs 
> > (
> https://docs.sympy.org/latest/modules/integrals/g-functions.html#g-functions) 
> and was a bit intimidated. This sounds good and I will have my proposal 
> posted in the very near future. 
> > 
> > Jackson Morris 
> > 
> > On Sunday, March 29, 2020 at 3:58:50 PM UTC-7, Aaron Meurer 
> > wrote:Modifying the meijerg algorithm will require some time for you to 
> > > understand the algorithm and the code behind it, so you should 
> > > allocate some time for it.Adding support to manualintegrate should be 
> > > much easier. We should probably try to do both. 
> > > 
> > > Aaron Meurer 
> > > 
> > > On Sun, Mar 29, 2020 at 2:30 PM Jackson Morris <j.rex...@gmail.com> 
> wrote: 
> > > > 
> > > > My initial thought was that we could have some kind of a 
> "distribution object" in order for us to more easily identify when the 
> result of an integral could be written in clean terms (we could also use 
> these when we need a distribution to describe the derivative of some 
> function), but now I am realizing that almost all (interesting) instances 
> of distributions occurring in these types of integrals are variations of 
> the delta function (eg derivatives), which is already covered in the 
> functions module. Also, is investigating whether the meijerg methods can be 
> modified to return distributions something I should look into now when 
> formulating my timeline/plan, or can there be some built in time for 
> determining which will be more feasible (between meijerg or 
> manualintegrate). 
> > > > 
> > > > Thanks, 
> > > > Jackson 
> > > > 
> > > > On Sunday, March 29, 2020 at 1:04:51 PM UTC-7, Aaron Meurer wrote: 
> > > >> 
> > > >> manualintegrate basically is a lookup table. So if you want to 
> > > >> implement a lookup table, it should go there, rather than trying to 
> > > >> reinvent it. 
> > > >> 
> > > >> What other sorts of generalized functions would you want to 
> implement? 
> > > >> 
> > > >> Aaron Meurer 
> > > >> 
> > > >> On Sun, Mar 29, 2020 at 11:57 AM Jackson Morris <j.rex...@gmail.com> 
> wrote: 
> > > >> > 
> > > >> > So, a potential plan of action could be something like 
> determining which integration method could most easily be extended to 
> return distributions (whether that is meijerg, or manual integrate) 
> > > >> > and then implementing such an extension to either of these 
> methods. If it proves intractable to improve either of these methods we 
> would then look into a look-up table? Would it be unrealistic to try to 
> implement other sorts of generalized functions into Sympy for a GSoC 
> project? 
> > > >> > 
> > > >> > Thanks! Jackson 
> > > >> > 
> > > >> > On Friday, March 27, 2020 at 10:00:56 AM UTC-7, Aaron Meurer 
> wrote: 
> > > >> >> 
> > > >> >> On Fri, Mar 27, 2020 at 10:51 AM Ondřej Čertík <ond...@certik.us> 
> wrote: 
> > > >> >> > 
> > > >> >> > Hi Jackson and Oscar, 
> > > >> >> > 
> > > >> >> > Indeed, fixing this would be the main goal of the project. 
> Let's brainstorm the possible approaches. 
> > > >> >> > 
> > > >> >> > 1) One is to work on the integrate() function, and make it 
> return distributions (delta functions) where appropriate. One way to do 
> that is using pattern matching, similar to Rubi. One would match the 
> typical integrals that occur, and return the correct answer. One would 
> probably write a dedicated function for that, say, integrate_distributions, 
> and then somehow hook it up into integrate. 
> > > >> >> 
> > > >> >> I think this is the right approach. We already have a pattern 
> matching 
> > > >> >> integrator called manualintegrate that this can be added to. We 
> can 
> > > >> >> also investigate if the meijerg algorithm can be improved to 
> work in 
> > > >> >> these cases. If it can, then that will enable a lot more than we 
> could 
> > > >> >> get by naive pattern matching. In each case, I would investigate 
> > > >> >> meijerg first. If it can be improved (and is fast), then that is 
> > > >> >> enough. It is only if it can't that we should add a table 
> lookup. In 
> > > >> >> some cases, meijerg can work but it needs some better 
> pre-processing 
> > > >> >> (like calling apart() first so it can operate on a partial 
> fraction 
> > > >> >> decomposition). 
> > > >> >> 
> > > >> >> The benefit of improving integrate is that things will work 
> regardless 
> > > >> >> of whether they call fourier_transform or just create the 
> integral of 
> > > >> >> a Fourier transform. As you probably know, integrals that look 
> like 
> > > >> >> common transforms appear all the time even when you aren't 
> necessarily 
> > > >> >> thinking in terms of that transform. 
> > > >> >> 
> > > >> >> By the way, since you mentioned RUBI, I don't think even it 
> would help 
> > > >> >> here, since, unless I am mistaken, it doesn't deal with definite 
> > > >> >> integrals. 
> > > >> >> 
> > > >> >> Aaron Meurer 
> > > >> >> 
> > > >> >> > 
> > > >> >> > 2) The other approach is to tie it specifically into the 
> fourier_transform() function. 
> > > >> >> > 
> > > >> >> > I was hoping we could write general enough 
> integrate_distributions function, so that when it is called from inside 
> Fourier, Laplace and other transforms, it would return the correct answer. 
> > > >> >> > 
> > > >> >> > Finally, cos(x) is just one simple example. It needs to be 
> extended to work correctly with piecewise functions and other. I can 
> provide such examples from a person who reported this issue to me 
> yesterday. 
> > > >> >> > 
> > > >> >> > For example, if it could do majority of these transforms 
> correctly, that would be ideal: 
> > > >> >> > 
> > > >> >> > 
> https://en.wikipedia.org/wiki/Fourier_transform#Tables_of_important_Fourier_transforms
>  
> > > >> >> > 
> > > >> >> > There will be always corner cases, but getting 90% of them 
> correctly would go a long way. 
> > > >> >> > 
> > > >> >> > Ondrej 
> > > >> >> > 
> > > >> >> > On Thu, Mar 26, 2020, at 4:59 PM, Jackson Morris wrote: 
> > > >> >> > > Hello there, 
> > > >> >> > > 
> > > >> >> > > I just commented on the issue, but I figure that this is a 
> better way 
> > > >> >> > > to communicate. Here is my comment from the issue: I would 
> certainly be 
> > > >> >> > > interested in working on this for GSoC. I am still getting 
> familiar 
> > > >> >> > > with the internals of sympy, but I think that this would be 
> right up my 
> > > >> >> > > alley. Would getting this fixed be the main component of the 
> project? 
> > > >> >> > > 
> > > >> >> > > Best, 
> > > >> >> > > Jackson 
> > > >> >> > > 
> > > >> >> > > On Thursday, March 26, 2020 at 2:38:50 PM UTC-7, ondrej 
> wrote:Hi, 
> > > >> >> > > > 
> > > >> >> > > > Here is a great idea for a GSoC project: 
> > > >> >> > > > 
> > > >> >> > > > 
> https://github.com/sympy/sympy/issues/2803#issuecomment-604697523 
> > > >> >> > > > 
> > > >> >> > > > Would any student be interested? I know at least one user 
> who couldn't use SymPy because of that. So fixing it would be very useful 
> to a lot of people. The scope of the GSoC project could be to get SymPy 
> working with Fourier transforms of many such functions including Piecewise 
> and adding a nice page to SymPy's documentation with examples. 
> > > >> >> > > > 
> > > >> >> > > > I'll be happy to mentor such a project. 
> > > >> >> > > > 
> > > >> >> > > > Ondrej 
> > > >> >> > > 
> > > >> >> > > -- 
> > > >> >> > > 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 sy...@googlegroups.com. 
> > > >> >> > > To view this discussion on the web visit 
> > > >> >> > > 
> https://groups.google.com/d/msgid/sympy/a51452c8-bb74-4fa2-b2ac-04c66e7e9199%40googlegroups.com
>  
> <
> https://groups.google.com/d/msgid/sympy/a51452c8-bb74-4fa2-b2ac-04c66e7e9199%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 sy...@googlegroups.com. 
> > > >> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/ec797a11-e354-48a5-9ce9-f0b5617d7099%40www.fastmail.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 sy...@googlegroups.com. 
> > > >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/17f88db9-1638-4601-967e-2d1341b17019%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 sy...@googlegroups.com. 
> > > > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/6586eb95-2e36-4ff2-80d3-f90fba57dd9e%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 sy...@googlegroups.com <javascript:>. 
> >  To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/sympy/e37e2c7c-ca70-4eb0-838e-c9eee3b84d1b%40googlegroups.com
>  
> <
> https://groups.google.com/d/msgid/sympy/e37e2c7c-ca70-4eb0-838e-c9eee3b84d1b%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 sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/7fdbb9ac-ecdd-48ec-a04e-a3a66b9b67df%40googlegroups.com.

Reply via email to