how to factorize a polynomial function of third degree with only variables like coefficient

46 vistas
Ir al primer mensaje no leído

Yann Cargouet

no leída,
19 sept 2017, 4:23:07 a.m.19/9/17
para sage-support
Hi everybody,

I would like to factorize a polynomial function of third degree in order to obtain the following form:
(1 + a*s + b*s^2)*(1 + c*s).

Here my test case:

When I use the factor() function there is no change on the expression. Which function I have to use to obtain the wanted simplication ?

all my variables are defined with the command var('Cc, Cin,...)

Thanks in advance for your answers
Yann
Auto Generated Inline Image 1

Dima Pasechnik

no leída,
19 sept 2017, 4:28:40 a.m.19/9/17
para sage-support
I'd suggest to cut and paste text from the browser/notebook, not making images.
Retyping your long formula by hand is not fun at all.

Yann Cargouet

no leída,
19 sept 2017, 4:43:08 a.m.19/9/17
para sage-support
Here is the expression:
Auto Generated Inline Image 1

Dima Pasechnik

no leída,
19 sept 2017, 4:58:20 a.m.19/9/17
para sage-support


On Tuesday, September 19, 2017 at 9:43:08 AM UTC+1, Yann Cargouet wrote:
Here is the expression:

No, this is a graphic image! Please post the text instead...

Yann Cargouet

no leída,
19 sept 2017, 7:10:45 a.m.19/9/17
para sage-support
Here is the text of the expression:
Cc*Cin*Cl*Rc*Rl*Rs*s^3 + Cc*Cl*Rc*Rl*s^2 + Cc*Cin*Rc*Rs*s^2 + Cc*Cin*Rl*Rs*s^2 + Cc*Cl*Rl*Rs*s^2 + Cin*Cl*Rl*Rs*s^2 + Cc*Rl*Rs*gm*s + Cc*Rc*s + Cc*Rl*s + Cl*Rl*s + Cc*Rs*s + Cin*Rs*s + 1

Yann


Le mardi 19 septembre 2017 10:23:07 UTC+2, Yann Cargouet a écrit :

Simon King

no leída,
19 sept 2017, 11:02:07 a.m.19/9/17
para sage-s...@googlegroups.com
Hi Yann,

On 2017-09-19, Yann Cargouet <ycar...@gmail.com> wrote:
> Here is the text of the expression:
> Cc*Cin*Cl*Rc*Rl*Rs*s^3 + Cc*Cl*Rc*Rl*s^2 + Cc*Cin*Rc*Rs*s^2 +
> Cc*Cin*Rl*Rs*s^2 + Cc*Cl*Rl*Rs*s^2 + Cin*Cl*Rl*Rs*s^2 + Cc*Rl*Rs*gm*s +
> Cc*Rc*s + Cc*Rl*s + Cl*Rl*s + Cc*Rs*s + Cin*Rs*s + 1
>> I would like to factorize a polynomial function of third degree in order
>> to obtain the following form:
>> (1 + a*s + b*s^2)*(1 + c*s).
>>
>> Here my test case:
>>
>> When I use the factor() function there is no change on the expression.
>> Which function I have to use to obtain the wanted simplication ?
>>
>> all my variables are defined with the command var('Cc, Cin,...)

When working with polynomials, it is often a good idea to actually *define*
polynomials. That's to say, to define Cc, Cin, ... as generators of a
polynomial ring, not as symbolic variables.

The factorisation also depends on the domain of coefficients. Shall the
factors be defined with coefficients in the integers? Rational numbers?
Real numbers? Complex numbers?

Unfortunately, when I tried with polynomials over the reational numbers,
I did not obtain a non-trivial factorisation either.

Since you explicitly ask about a factorisation of the form
(1 + a*s + b*s^2)*(1 + c*s): Is it clear from your application that
a factorisation of that form actually exists? Then, you can try to do
an Ansatz for a factorisation and obtain equations for a,b,c by comparing
the coefficients.

Best regards,
Simon

Simon King

no leída,
19 sept 2017, 11:20:09 a.m.19/9/17
para sage-s...@googlegroups.com
On 2017-09-19, Simon King <simon...@uni-jena.de> wrote:
> Since you explicitly ask about a factorisation of the form
> (1 + a*s + b*s^2)*(1 + c*s):

Sorry, I was stupid: Your polynomial is of degree 3 in s. Thus,
if a factorisation exists, then it is of the above form.

Anyway: From an Ansatz and comparison of coefficients, you get
equations for a,b,c. If you are lucky, they can be solved,
thus, you can express a,b,c in terms of the other variables
Cc, Cin,..., and then you are done.

Still, the question remains what kind of factorisation you'd accept:
One where a,b,c are polynomials in the other variables? Or
rational functions in the other variables? Is taking third roots
of polynomials/rational functions allowed?

Cheers,
Simon

Yann Cargouet

no leída,
20 sept 2017, 1:45:06 a.m.20/9/17
para sage-support
Hi Simon,

Thank you for your answer, I will try the Ansatz and comparison of coefficients.
To find coefficients a, b, and c I tried to solve a system of three equations but unfortunately it doesn't work. The system is depicted below:
eq1 = a + b == Rl*Rs*Cc*gm + Rc*Cc + Rl*Cc + Rl*Cl + Rs*Cc + Rs*Cin
eq2 = c + a*b == Rc*Rl*Cc*Cl + Rc*Rs*Cc*Cin + Rs*Rl*Cc*Cin + Rs*Rl*Cc*Cl + Rs*Rl*Cin*Cl
eq3 = a*c == Rc*Rl*Rs*Cc*Cin*Cl
solve([eq1,eq2,eq3],a,b,c)
Here is the result given by SAGE:
sage: []
Why this systen doesn't work ?

Regards,

Yann

Le mardi 19 septembre 2017 10:23:07 UTC+2, Yann Cargouet a écrit :

Nils Bruin

no leída,
20 sept 2017, 1:18:20 p.m.20/9/17
para sage-support
On Tuesday, September 19, 2017 at 10:45:06 PM UTC-7, Yann Cargouet wrote:
Hi Simon,

Thank you for your answer, I will try the Ansatz and comparison of coefficients.
To find coefficients a, b, and c I tried to solve a system of three equations but unfortunately it doesn't work. The system is depicted below:
eq1 = a + b == Rl*Rs*Cc*gm + Rc*Cc + Rl*Cc + Rl*Cl + Rs*Cc + Rs*Cin
eq2 = c + a*b == Rc*Rl*Cc*Cl + Rc*Rs*Cc*Cin + Rs*Rl*Cc*Cin + Rs*Rl*Cc*Cl + Rs*Rl*Cin*Cl
eq3 = a*c == Rc*Rl*Rs*Cc*Cin*Cl
solve([eq1,eq2,eq3],a,b,c)
Here is the result given by SAGE:
sage: []
Why this systen doesn't work ?

Why do you think the polynomial factors into lower degree factors. It doesn't in QQ[Rl,...Cc,s] (as a simple call to "factor" verifies) and one would expect the same to be true in CC[...].

You can already see it from your system above: eq3 gives only finitely many combinations for a,c (up to scalars), so given those choices you get a bunch of overdetermined systems in b. One would expect none of those are solvable. The solve command might have verified that, but I don't think "solve" gives any guarantees that it tries anything exhaustive.

Yann Cargouet

no leída,
21 sept 2017, 1:22:50 a.m.21/9/17
para sage-support
Thank you Nils for your answer


Le mardi 19 septembre 2017 10:23:07 UTC+2, Yann Cargouet a écrit :
Responder a todos
Responder al autor
Reenviar
0 mensajes nuevos