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 <[email protected] 
> <javascript:>> 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 <[email protected]> 
> 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 <[email protected]> 
> 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 [email protected]. 
> >> >> > >  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 [email protected]. 
> >> >> > 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 [email protected]. 
> >> > 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 [email protected] <javascript:>. 
> > 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/e37e2c7c-ca70-4eb0-838e-c9eee3b84d1b%40googlegroups.com.

Reply via email to