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 sympy+unsubscr...@googlegroups.com.
>  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/969bf88e-735c-4dea-8978-d218773c1794%40www.fastmail.com.

Reply via email to