I want to Add Integrating by Parts in GiNaC Symbolic Integration
Dear all, I just learned about GiNaC, and I want to add integration by parts for a bit of complex integration like integral of *cos nx * x*, for definite and indefinite integral. I think polynomial integration in GiNaC works amazing, but if we can add all other symbolic integration it will be better. Should I look and modify the source code *integral.cpp*? I never really modified open source code before in my life. Thanks.
On Mon, 29 Jul 2024 19:51:56 +0700, DS Glanzsche <dsglanzsche@gmail.com> said:
DS> I just learned about GiNaC, and I want to add integration by DS> parts for a bit of complex integration like integral of cos nx * DS> x, for definite and indefinite integral. I think polynomial DS> integration in GiNaC works amazing, but if we can add all other DS> symbolic integration it will be better. For integration by parts, the key step is to factorise f=u ·v into a part for integration and a part for differentiation. Do you know a good algorithm to make the decision? (I would be interested to see it as a seasonal lecturer of integral calculus as well) We definitely can implement the Ostrogradsky's procedure for integration of rational functions because it is algorithmic and we already have the necessary polynomial arithmetic for it. DS> Should I look and modify the source code integral.cpp? I never DS> really modified open source code before in my life. We all had this first moment in our life, hopefully you will enjoy the process! -- Vladimir V. Kisil http://v-v-kisil.scienceontheweb.net Book: Geometry of Mobius Maps https://doi.org/10.1142/p835 Soft: Geometry of cycles http://moebinv.sourceforge.net/ Jupyter notebooks: https://github.com/vvkisil?tab=repositories
For integration by parts, the key step is to factorise f=u ·v into a part for integration and a part for differentiation. Do you know a good algorithm to make the decision? (I would be interested to see it as a seasonal lecturer of integral calculus as well)
I was only going to follow Purcell' Calculus book or more or less like the old formula for Integration by parts from https://en.wikipedia.org/wiki/Integration_by_parts In SymbolicC++ they are able to handle integration by parts for x * exp(x). I am really naive and still in undergraduate books of Mathematics I don't even know the Ostrogradsky's procedure. Thanks for the information, I will try my best and hopefully I can make integration by parts with GiNaC. Le lun. 29 juil. 2024 à 21:46, Vladimir V. Kisil <V.Kisil@leeds.ac.uk> a écrit :
On Mon, 29 Jul 2024 19:51:56 +0700, DS Glanzsche < dsglanzsche@gmail.com> said:
DS> I just learned about GiNaC, and I want to add integration by DS> parts for a bit of complex integration like integral of cos nx * DS> x, for definite and indefinite integral. I think polynomial DS> integration in GiNaC works amazing, but if we can add all other DS> symbolic integration it will be better.
For integration by parts, the key step is to factorise f=u ·v into a part for integration and a part for differentiation. Do you know a good algorithm to make the decision? (I would be interested to see it as a seasonal lecturer of integral calculus as well)
We definitely can implement the Ostrogradsky's procedure for integration of rational functions because it is algorithmic and we already have the necessary polynomial arithmetic for it.
DS> Should I look and modify the source code integral.cpp? I never DS> really modified open source code before in my life.
We all had this first moment in our life, hopefully you will enjoy the process! -- Vladimir V. Kisil http://v-v-kisil.scienceontheweb.net Book: Geometry of Mobius Maps https://doi.org/10.1142/p835 Soft: Geometry of cycles http://moebinv.sourceforge.net/ Jupyter notebooks: https://github.com/vvkisil?tab=repositories
On Thu, 1 Aug 2024 05:40:24 +0700, DS Glanzsche <dsglanzsche@gmail.com> said:
DS> I was only going to follow Purcell' Calculus book or more or DS> less like the old formula for Integration by parts from DS> https://en.wikipedia.org/wiki/Integration_by_parts In DS> SymbolicC++ they are able to handle integration by parts for x * DS> exp(x). If you will manage a code which can handle all (or many) cases from this Wiki article, it will be very good. DS> I am really naive and still in undergraduate books of DS> Mathematics I don't even know the Ostrogradsky's procedure. You can find it at many resources, in particular §4 of these notes: http://v-v-kisil.scienceontheweb.net/courses/math0212-notes.pdf -- Vladimir V. Kisil http://v-v-kisil.scienceontheweb.net Book: Geometry of Mobius Maps https://doi.org/10.1142/p835 Soft: Geometry of cycles http://moebinv.sourceforge.net/ Jupyter notebooks: https://github.com/vvkisil?tab=repositories
On Mon, 29 Jul 2024 19:51:56 +0700, DS Glanzsche DS> <dsglanzsche@gmail.com<mailto:dsglanzsche@gmail.com>> said:
DS> I just learned about GiNaC, and I want to add integration by DS> parts for a bit of complex integration like integral of cos nx * DS> x, for definite and indefinite integral. I think polynomial DS> integration in GiNaC works amazing, but if we can add all other DS> symbolic integration it will be better. DS> For integration by parts, the key step is to factorise f=u DS> ·v into a part for integration and a part for DS> differentiation. Do you know a good algorithm to make the DS> decision? (I would be interested to see it as a seasonal DS> lecturer of integral calculus as well) DS> We definitely can implement the Ostrogradsky's procedure for DS> integration of rational functions because it is algorithmic and DS> we already have the necessary polynomial arithmetic for it. DS> Should I look and modify the source code integral.cpp? I never DS> really modified open source code before in my life. DS> We all had this first moment in our life, hopefully you will DS> enjoy the process! -- Vladimir V. Kisil DS> http://v-v-kisil.scienceontheweb.net Book: Geometry of Mobius DS> Maps https://doi.org/10.1142/p835 Soft: Geometry of cycles DS> http://moebinv.sourceforge.net/ Jupyter notebooks: DS> https://github.com/vvkisil?tab=repositories
participants (2)
-
DS Glanzsche
-
Vladimir V. Kisil