MATLAB Answers

Want to find exact answer for symbolic variable polynomial factorization

19 views (last 30 days)
Francis Flanagan
Francis Flanagan on 9 Jan 2021
Edited: John D'Errico on 10 Jan 2021
Variables c,n are positive integers. p is probability in [0,1]. I want to show that p, (1-p), and (2p-1) are the only real roots of the following polynomial, but factor, or setting eqn to zero and solve for p will not give solution.
P=symsum((nchoosek(n+2*c,k))*p^(k)*(1-p)^(n+2*c-k)*(k-c),k,c+1,n+c)+symsum((nchoosek(n+2*c,k))*p^(k)*(1-p)^(n+2*c-k)*n,k,n+c+1,n+2*c)-n*p

  0 Comments

Sign in to comment.

Answers (1)

John D'Errico
John D'Errico on 10 Jan 2021
Edited: John D'Errico on 10 Jan 2021
You say this is a polynomial. It cannot be a polynomial in c or n, since c and n live in the exponentis of p. Therefore you are telling us it is a polynomial in p.
It ofen helps to get some feeling for what is happening if we try some values for the parameters. So I picked some values for c and n.
>> syms k real integer
>> syms p
>> n = 6;
>> c = 3;
>> P=symsum((nchoosek(n+2*c,k))*p^(k)*(1-p)^(n+2*c-k)*(k-c),k,c+1,n+c)+symsum((nchoosek(n+2*c,k))*p^(k)*(1-p)^(n+2*c-k)*n,k,n+c+1,n+2*c)-n*p;
>> Pex = expand(P)
Pex =
- 324*p^11 + 1782*p^10 - 4620*p^9 + 7425*p^8 - 7920*p^7 + 5544*p^6 - 2376*p^5 + 495*p^4 - 6*p
As I said, the result is a polynomial in p.
But then it makes no sense at all to tell us that p, 1-p, and 2*p-1 are "roots". They may be FACTORS of this polynomial. The corresponding roots would be 0, 1, and 1/2. Is that true in this case?
>> vpa(solve(Pex))
ans =
0
0.5
1.0
- 0.12634503327930217170060586438812 + 0.13836497949209092930010607856289i
1.1263450332793021717006058643881 - 0.13836497949209092930010607856289i
- 0.12634503327930217170060586438812 - 0.13836497949209092930010607856289i
1.1263450332793021717006058643881 + 0.13836497949209092930010607856289i
0.5 - 0.56660830776358934972132646114141i
0.5 + 0.56660830776358934972132646114141i
0.5 - 1.0883660924340429282641590517296i
0.5 + 1.0883660924340429282641590517296i
Anyway, your claim seems to hold, at least in this case.
A problem is however, if c and n are allowed to be completely unknown integers, is that symsum will not produce a result, beyond the call to symsum.
It should be not that difficult to show that 0, 1/2, and 1 are roots of the result. For example as long as there is no constant term in the polynomial, then p==0 is trivially a root. If the sum of the coefficients is equal to 0, then 1 would be a root.
However, I see no simple solution to show no other real root can exist for fully general integer values of c and n.
For example, since the coefficients themselves will be difficult to generate for fully general values of c nd n, you might have some difficulty in applying a simple tool like Descarte's rule of signs.
Perhaps your best approach is to try induction in some form. It looks like when c == 0, the polynomial is always trivially 0 for any n. But if you start with some lower case, for c and n, can you then write a recurrence relation that connects P(n,c), for example, and p(n+1,c)?
Now you may be able to prove something abut the roots of the family of polynomials, as n or c grows.

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by