Colle d'informatique XII

> restart;

XI.1

> P:=X^4+a*X^3+sqrt(3)*X^2+X+b;

P := 
X^4+a*X^3+sqrt(3)*X^2+X+b

> image:=subs(X=2+2*I,P);

image := 
(-16+16*I)*a+8*I*sqrt(3)-62+2*I+b

> assume(a,real);assume(b,real);

> solve(image);

{a = a, b = 
16*a-16*I*a-8*I*sqrt(3)+62-2*I}

Ça ne marche pas.

> eqs:={Re(image),Im(image)};incs:={a,b};

eqs := 
{16*a+8*sqrt(3)+2, -16*a-62+b}

incs := {b, 
a}

> solve(eqs,incs);

{a = 
-1/2*sqrt(3)-1/8, b = -8*sqrt(3)+60}

> assign(%);

Ceci permet l'affectation des valeurs obtenues aux inconnues a et b

> 'a'=a;'b'=b;

a = 
-1/2*sqrt(3)-1/8

b = 
-8*sqrt(3)+60

> P;

X^4+(-1/2*sqrt(3)-1/8)*X^3+sqrt(3)*X^2+X-8*sqrt(3)+...

> solve(P);

2+2*I, 
2-2*I, 1/4*sqrt(3)-31/16+1/16*sqrt(-911+8*sq...

> evalf(-911+8*sqrt(3));

-897.1435935

Ainsi il n'y a pas de racine réelle.

> factor(P);

1/8*(X^2-4*X+8)*(8*X^2-4*sqrt(3)*X+31*X+60-8*sqrt(3...

Ceci est la décomposition de Gauss de P

> factor(P,{I,sqrt(-911+8*sqrt(3))});

1/256*(X-2+2*I)*(X-2-2*I)*(16*X+31-sqrt(-911+8*sqrt...

Et cela la décomposition de d'Alembert.

> restart;

XI.2

Pour avoir un o(x^7), il faut demander un O(x^8).

> series(tan(x),x,8);

series(1*x+1/3*x^3+2/15*x^5+17/315*x^7+O(x^8),x,8)

On fait un premier essai, en demandant un O(x^9)

> series((1-cos(x))/x^2,x,9);

series(1/2-1/24*x^2+1/720*x^4-1/40320*x^6+O(x^7),x,...

On n'obtient qu'un O(x^7). En fait, Maple a fait ses calculs avec un O(x^9) puis a divisé par x^2. Il faut anticiper ceci par une étude a priori de l'ordre du développement. Ainsi

> series((1-cos(x))/x^2,x,11);

series(1/2-1/24*x^2+1/720*x^4-1/40320*x^6+1/3628800...

Ici encore, c'est une exponentielle d'une expression comportant un x au dénominateur. Il va y avoir une simplification par x. On demande donc un O(x^4) pour avoir un O(x^3).

> series((1-x+x^2)^(1/x),x,4);

series(exp(-1)+1/2*exp(-1)*x+19/24*exp(-1)*x^2+O(x^...

> restart;

XI.3

> f:=sin(x)-(a*x+b*x^3+c*x^5)/(1+d*x^2+e*x^4);

f := 
sin(x)-(a*x+b*x^3+c*x^5)/(1+d*x^2+e*x^4)

Je sais a priori que le DL de sin(x) commence par x, celui de la fraction par ax. Si je veux que f ne soit pas de l'ordre de x, il faut que a=1.

f est impaire, donc tous les coefficients pairs dans sont DL seront nuls. J'ai besoin d'égaler au moins 5 coefficients non nuls à zéro pour pouvoir déterminer mes cinq inconnues, c'est-à-dire que je dois avoir les termes en x, x^3, x^5, x^7, x^9. Je demande donc un DL (faible) à l'ordre 10.

> DL:=series(f,x,10);

DL := 
series((1-a)*x+(-1/6-b+a*d)*x^3+(-c+a*e-(-b+a...
DL := 
series((1-a)*x+(-1/6-b+a*d)*x^3+(-c+a*e-(-b+a...

> P:=convert(DL,polynom);

P := 
(1-a)*x+(-1/6-b+a*d)*x^3+(-c+a*e-(-b+a*d)*d+1/...
P := 
(1-a)*x+(-1/6-b+a*d)*x^3+(-c+a*e-(-b+a*d)*d+1/...

> syst:={coeffs(P,x)};

syst := 
{1-a, 1/362880-(-c+a*e+d*b-a*d^2)*e-(e*b-2*...
syst := 
{1-a, 1/362880-(-c+a*e+d*b-a*d^2)*e-(e*b-2*...

> inc:={a,b,c,d,e};

inc := {b, 
c, d, e, a}

> solve(syst,inc);

{a = 1, e = 
5/11088, c = 551/166320, b = -53/396, d...

> assign(%);

> series(f,x,12);

series(-11/457228800*x^11+O(x^12),x,12)

> convert(%,polynom);

-11/457228800*x^11

Ceci est un équivalent de f.

> restart;

XI.4

> P:=X^6+sqrt(2)*X^5+a*X^2+b*X+c;

P := 
X^6+sqrt(2)*X^5+a*X^2+b*X+c

> Pderiv0:=P;

Pderiv0 := 
X^6+sqrt(2)*X^5+a*X^2+b*X+c

> for i from 1 to 3 do Pderiv||i:=diff(P,X$i) od;

Pderiv1 := 
6*X^5+5*sqrt(2)*X^4+2*a*X+b

Pderiv2 := 
30*X^4+20*sqrt(2)*X^3+2*a

Pderiv3 := 
120*X^3+60*sqrt(2)*X^2

On traduit la condition par l'existence d'une racine commune à ces 4 polynômes, c'est-à-dire que le système formé par 4 équations (nullité de ces 4 polynômes) à 4 inconnues (a,b,c,X) admet au moins une solution.

> syst:={seq(Pderiv||i,i=0..3)};

syst := 
{30*X^4+20*sqrt(2)*X^3+2*a, X^6+sqrt(2)*X^5...

> inc:={a,b,c,X};

inc := {a, X, 
b, c}

> solve(syst,inc);

{X = 0, c = 
0, b = 0, a = 0}, {X = 0, c = 0, b = 0,...

Ainsi, il faut et il suffit de prendre a=b=c=0 ou a=5/4, b=3sqrt(2)/4 et c=1/4. Dans ce dernier cas, -sqrt(2)/2 est racine au moins quadruple.

> restart;

XI.5

On cherche P sous la forme

> P:=a*X^3+b*X^2+c*X+d;

P := 
a*X^3+b*X^2+c*X+d

On traduit les différentes conditions~:

> cond1:=subs(X=1,P)-7; # traduit que P(1)=7

cond1 := 
a+b+c+d-7

> cond2:=subs(X=8,P)+2; # traduit que P(8)=-2

cond2 := 
512*a+64*b+8*c+d+2

> Pprime:=diff(P,X);

Pprime := 
3*a*X^2+2*b*X+c

> cond3:=subs(X=1,Pprime); # C'est bien une cond nécessaire. Traduit qu'en 1, P admet un point critique.

cond3 := 
3*a+2*b+c

> cond4:=subs(X=8,Pprime); # idem

cond4 := 
192*a+16*b+c

> syst:={seq(cond||i,i=1..4)};

syst := 
{3*a+2*b+c, a+b+c+d-7, 512*a+64*b+8*c+d+2, ...

> inc:={a,b,c,d};

inc := {d, b, 
c, a}

> solve(syst,inc);

{b = 
-243/343, c = 432/343, d = 2194/343, a = 18/34...

> assign(%);

> P;

18/343*X^3-243/343*X^2+432/343*X+2194/343

> plot(P,X=-4..10);

[Maple 
Plot]

On a raisonné par condition nécessaire. Si un polynôme P convient, c'est nécessairement celui-ci. Réciproquement, on "voit" graphiquement qu'il convient. On pourrait faire une étude plus précise des variations pour montrer que P admet effectivement deux extrema en 1 et 8.

> restart;

XI.6

> f:=x->a/sin(x)+b/tan(x)+c*x/cos(x)+d/x;

f := proc 
(x) options operator, arrow; a/sin(x)+b/t...

On fait un DL de f avec suffisament de termes non nuls pour obtenir un système de 3 équations. En effet, si on obtient 4 équations, on aura (sans doute) un unique quadruplet solution. Or (0,0,0,0) conviendra, et ce cas est exclu.

> dev:=series(f(x),x,6);

dev := 
series((a+b+d)*x^(-1)+(1/6*a-1/3*b+c)*x+(7/3...

> P:=convert(dev,polynom);

P := 
(a+b+d)/x+(1/6*a-1/3*b+c)*x+(7/360*a-1/45*b+1/...

> syst:={coeffs(P,x)};

syst := 
{a+b+d, 1/6*a-1/3*b+c, 7/360*a-1/45*b+1/2*c...

> inc:={a,b,c,d};

inc := {b, d, 
a, c}

> solve(syst,inc);

{a = -52*c, 
d = 75*c, b = -23*c, c = c}

> assign(%);

> f(x);

-52*c/sin(x)-23*c/tan(x)+c*x/cos(x)+75*c/x

Il apparaît clairement que toute fonction solution s'écrit c*f_1, où f_1 est~:

> f_1:=unapply(subs(c=1,f(x)),x);

f_1 := proc 
(x) options operator, arrow; -52*1/sin(...

C'est-à-dire que l'ensemble des solutions est la droite vectorielle engendrée par f_1.

Remarque~: selon les cas, la constante c peut être remplacée par d, a ou b... cela dépend de l'humeur de Maple :-)

> restart;

XI.7

> P:=X^3+a*X^2+a*X+1;

P := 
X^3+a*X^2+a*X+1

> solve(P,X);

-1, 
-1/2*a+1/2+1/2*sqrt(a^2-2*a-3), -1/2*a+1/2-1/2*...

On remarque que -1 est toujours racine de P. Cherchons le quotient dans la division de P par X+1

> Q:=quo(P,X+1,X);

Q := 
X^2+(a-1)*X+1

1er cas : -1 est l'une des deux racines dont la somme fait 1. L'autre est alors 2, et est racine de Q donc

> subs(X=2,Q)=0;

3+2*a = 0

> a=solve(%,a);

a = -3/2

2ème cas : les racines dont la somme fait 2 sont les racines de Q, dont la somme fait 1-a (rel coefficients racines) d'où

> a=0;

a = 0

Dans ce deuxième cas, les racines en question sont -j et -j^2.

> restart;

XI.8

> P:=4*X^4-16*X^3+2*X^2+28*X-49;

P := 
4*X^4-16*X^3+2*X^2+28*X-49

> racines:=[solve(P,X)];

racines := 
[1-1/2*sqrt(11+7*sqrt(5)), 1+1/2*sqrt(11...

Attention, il y a bien deux racines complexes parmi les racines~: deux des radicaux sont les radicaux de nombres négatifs.

> factor(P,sqrt(11+7*sqrt(5)));

-1/4*(4*X^2-8*X-7+7*sqrt(5))*(2*X-2+sqrt(11+7*sqrt(...

> somme:=sum(racines[i]^3,i=1..4);

somme := 
(1-1/2*sqrt(11+7*sqrt(5)))^3+(1+1/2*sqrt(1...

> simplify(somme);

37

Expliquer pourquoi c'est un entier... C'est une question un peu "bizarre". Est-ce que l'examinateur attendait simplement une réponse du genre "parce que cette somme peu s'exprimer avec les fonctions symétriques élémentaires, donc en fonction des coefficients du polynôme, donc sera un entier", ou attendait-il un raisonnement plus détaillé~? Détaillons~:

> a:=[a1,a2,a3,a4];

a := [a1, 
a2, a3, a4]

> s1:=sum(a[i],i=1..4);

s1 := 
a1+a2+a3+a4

> s2:=sum(sum(a[i]*a[j],j=i+1..4),i=1..4);

s2 := 
a1*a2+a1*a3+a1*a4+a2*a3+a2*a4+a3*a4

> s3:=sum(sum(sum(a[i]*a[j]*a[k],k=j+1..4),j=i+1..4),i=1..4);

s3 := 
a1*a2*a3+a1*a2*a4+a1*a3*a4+a2*a3*a4

> s4:=product(a[i],i=1..4);

s4 := 
a1*a2*a3*a4

> s1^3-sum(a[i]^3,i=1..4);

(a1+a2+a3+a4)^3-a1^3-a2^3-a3^3-a4^3

> simplify(%);

3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+6...
3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+6...

> %-6*s3;

3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+3...
3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+3...

> %+9*s3;

3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+3...
3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+3...

> %-3*s1*s2;

3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+3...
3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+3...
3*a1^2*a4+3*a1*a2^2+3*a1*a3^2+3*a1^2*a2+3*a1^2*a3+3...

> simplify(%);

0

On vient de montrer la formule :

> 'sum(a[i]^3,i=1..4)'=('s1'^3-6*'s3')+9*'s3'-3*'s1'*'s2';

sum(a[i]^3,i 
= 1 .. 4) = s1^3+3*s3-3*s1*s2

vérifions~:

> rhs(%)-lhs(%);

(a1+a2+a3+a4)^3+3*a1*a2*a3+3*a1*a2*a4+3*a1*a3*a4+3*...
(a1+a2+a3+a4)^3+3*a1*a2*a3+3*a1*a2*a4+3*a1*a3*a4+3*...

> simplify(%);

0

Pour le polynôme qui nous concerne, s1=4, s2=1/2, s3=-7 et s4=-49/4, Comme la somme ne fait intervenir que s1 et s3, qui sont entier, le résultat sera entier.

> subs({sigma1=4,sigma2=1/2,sigma3=-7},sigma1^3+3*sigma3-3*sigma1*sigma2);

37