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 <[email protected]> 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]. > > > 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 > > <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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/969bf88e-735c-4dea-8978-d218773c1794%40www.fastmail.com.
