Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Definite integral of inverse of a polynomial

Subject: Definite integral of inverse of a polynomial

From: sk maidul haque

Date: 10 Feb, 2011 10:38:03

Message: 1 of 3

I do not know whether this is the right place to pose this problem.
I have come across one definite integral which I am not able to resolve. Kindly let me know if you have any idea to solve it or suggest me any blog where I can request for suggestion.
Integration has to be carried out of the function (a0*x^n+a1*x^(n-1)+ a2*x^(n-2)+ a3*x^(n-3)+ ...+1)^(-1). It is not possible to factorize the polynomial since a0, a1,a2...are all unknown. I want the final answer in terms of a0,a1,a2,a3.
Looking forward for your suggestion.
Thank you.

Subject: Definite integral of inverse of a polynomial

From: Walter Roberson

Date: 21 Feb, 2011 18:49:06

Message: 2 of 3

"sk maidul haque" <skmaidulhaque@gmail.com> wrote in message <ij0f6b$jgl$1@fred.mathworks.com>...
> I do not know whether this is the right place to pose this problem.
> I have come across one definite integral which I am not able to resolve. Kindly let me know if you have any idea to solve it or suggest me any blog where I can request for suggestion.
> Integration has to be carried out of the function (a0*x^n+a1*x^(n-1)+ a2*x^(n-2)+ a3*x^(n-3)+ ...+1)^(-1). It is not possible to factorize the polynomial since a0, a1,a2...are all unknown. I want the final answer in terms of a0,a1,a2,a3.
> Looking forward for your suggestion.


You get a mess even just for going to 2:

MAPLE> `assuming`([int(1/(sum(a[n]*x^n, n = 1 .. 2)+1), x = c .. d, AllSolutions)], [c <= d, real]);

piecewise(c < d, piecewise(And(c < (1/2)*(-a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2], c < -(1/2)*(a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2], (1/2)*(-a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2] < d, -(1/2)*(a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2] < d), undefined, And(c < (1/2)*(-a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2], (1/2)*(-a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2] < d), undefined, And(c < -(1/2)*(a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2], -(1/2)*(a[1]+Re((a[1]^2-4*a[2])^(1/2)))/a[2] < d), undefined, -piecewise(c = (1/2)*(-a[1]+(a[1]^2-4*a[2])^(1/2))/a[2], -infinity/signum(a[1]^2-4*a[2])^(1/2), c = -(1/2)*(a[1]+(a[1]^2-4*a[2])^(1/2))/a[2], infinity/signum(a[1]^2-4*a[2])^(1/2), -2*arctanh((2*c*a[2]+a[1])/(a[1]^2-4*a[2])^(1/2))/(a[1]^2-4*a[2])^(1/2))+piecewise(d = (1/2)*(-a[1]+(a[1]^2-4*a[2])^(1/2))/a[2], -infinity/signum(a[1]^2-4*a[2])^(1/2), d = -(1/2)*(a[1]+(a[1]^2-4*a[2])^(1/2))/a[2],
infinity/signum(a[1]^2-4*a[2])^(1/2), -2*arctanh((2*d*a[2]+a[1])/(a[1]^2-4*a[2])^(1/2))/(a[1]^2-4*a[2])^(1/2))), d = c, 0)


The cubic is much more tractable:

sum(ln(d-_R)/(a[1]+2*a[2]*_R+3*a[3]*_R^2), _R = RootOf(a[1]*_Z+a[2]*_Z^2+a[3]*_Z^3+1))-(sum(ln(c-_R)/(a[1]+2*a[2]*_R+3*a[3]*_R^2), _R = RootOf(a[1]*_Z+a[2]*_Z^2+a[3]*_Z^3+1)))


The quartic... my system was still choking on that one after 20 or so hours of computation.

I would say that these two answers together are enough to establish that although *potentially* there is a closed form solution for each of the maximum n, that there is no general extensible solution, at least not without some deep calculus theorem or other.

If the pattern continues like it does for the cubic, there would be RootOf() polynomials of degree 5 or more, and there are no general closed form solutions for the roots of such polynomials.

Subject: Definite integral of inverse of a polynomial

From: Think two, count blue.

Date: 23 Feb, 2011 20:50:26

Message: 3 of 3

On 11-02-10 04:38 AM, sk maidul haque wrote:
> I do not know whether this is the right place to pose this problem.
> I have come across one definite integral which I am not able to resolve.
> Kindly let me know if you have any idea to solve it or suggest me any blog
> where I can request for suggestion.
> Integration has to be carried out of the function (a0*x^n+a1*x^(n-1)+
> a2*x^(n-2)+ a3*x^(n-3)+ ...+1)^(-1). It is not possible to factorize the
> polynomial since a0, a1,a2...are all unknown. I want the final answer in terms
> of a0,a1,a2,a3.
> Looking forward for your suggestion.


I posted about the difficulty I was having analyzing the quartic form of this
in the forum for the tool I was using. It turned out that I was on the right
track in suggesting the solution might extend with RootOf, but that there was
a bug in the tool that prevented it from finding the solution in any
reasonable time.

I have taken the liberty of numbering the constants in the reverse order, so
a(1) corresponds to x^1 instead of to x^(n-1).

The general solution up to order m is, for the definite integration from c to
d, c < d, appears to be:

sum((ln(d-R)-ln(c-R))/(sum(n*a(n)*R^(n-1), n = 1 .. m)),
   R = RootOf(1+sum(a(n)*Z^n, n = 1 .. m),Z))

That is, you have to find the m roots of the original polynomial (including
the imaginary ones!), and then form a sum using each of those roots in turn as
the value R in (ln(d-R)-ln(c-R)) divided by what you would get if you
differentiated the original polynomial and evaluated that at that particular root.

For m in 2, 3, or 4, you can get a closed form solution in the (unknown)
constants. However, once you get to m=5, there is no general algebraic
solution for the roots of the quintic in symbolic coefficients and you can no
longer get a closed form solution. The closed form solution for m=4 is very messy.

As this closed form involves a division by the differential evaluated at a
root of the polynomial, one needs to know whether that root of the polynomial
also happens to be a root of the differential, because if it is then you get a
singularity. The answer turns out to be Yes, it *is* possible. Indeed, given
values for all but one of the constants, it is always possible to construct
the remaining constant such that the singularity will occur. And that in turn
implies that there are an infinite number of singularities for m=2 onwards.
Because of this, symbolic math packages should return the integral unevaluated
unless you ask them to list all of the cases.

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us