Feuille d'accompagnement TD :

algèbre linéaire et polynomes

Exercice 9

> P:=n->(X+1)^n-(X-1)^n:P(3);

(X+1)^3-(X-1)^3

> expand(");

6*X^2+2

> degree(",X),lcoeff(");

2, 6

> degree(expand(P(1515)),X),lcoeff(expand(P(1515)));

1514, 3030

> degree(expand(P(1789)),X),lcoeff(expand(P(1789)));

1788, 3578

> Q:=n->(X^2+1)^n-(X^2-1)^n:Q(1515);

(X^2+1)^1515-(X^2-1)^1515

> degree(expand(Q(1515)),X),lcoeff(expand(Q(1515)));

3028, 3030

> degree(expand(Q(1789)),X),lcoeff(expand(Q(1789)));

3576, 3578

Exercice 10

> horner:=proc(l,x)
local res,n,k;
n:=nops(l)-1; res:=l[n+1]; # res<-an
for k from 1 to n do #res<-res*x+a[n-k]
res:=res*x+l[n-k+1] od;
RETURN(res)
end;

horner := proc (l, x) local res, n, k; n := nops(l)...
horner := proc (l, x) local res, n, k; n := nops(l)...
horner := proc (l, x) local res, n, k; n := nops(l)...
horner := proc (l, x) local res, n, k; n := nops(l)...

> horner([1,3,-2,3,0,1],x);

(((x^2+3)*x-2)*x+3)*x+1

> expand(");

x^5+3*x^3-2*x^2+3*x+1

Exercice 12

> with(orthopoly);

Warning, new definition for P

[G, H, L, P, T, U]

> seq(T(k,X),k=0..5);

1, X, 2*X^2-1, 4*X^3-3*X, 8*X^4-8*X^2+1, 16*X^5-20*...

> seq(U(k,X),k=0..5);

1, 2*X, 4*X^2-1, 8*X^3-4*X, 16*X^4-12*X^2+1, 32*X^5...

> subs(X=cos(theta),T(10,X));

512*cos(theta)^10-1280*cos(theta)^8+1120*cos(theta)...

> combine(",trig);

cos(10*theta)

> subs(X=cos(theta),U(10,X));

1024*cos(theta)^10-2304*cos(theta)^8+1792*cos(theta...

> combine("*sin(theta),trig);

sin(11*theta)

Exercices 13 et 14

> A:=X^6-4*X^3+2*X^2-1;B:=X^2+4;

A := X^6-4*X^3+2*X^2-1

B := X^2+4

> quo(A,B,X),rem(A,B,X);

X^4-4*X^2-4*X+18, -73+16*X

> C:=4*X^3+X^2:D:=X+1+I:

Error, attempting to assign to `D` which is protected

D désigne l'opérateur de dérivation...

> C:=4*X^3+X^2:E:=X+1+I:

> quo(C,E,X),rem(C,E,X);

-1+7*I+(-3-4*I)*X+4*X^2, 8-6*I

Exercice 23

> P:=n->X^(2*n+1)-(2*n+1)*X^(n+1)+(2*n+1)*X^n-1;

P := proc (n) options operator, arrow; X^(2*n+1)-(2...

> subs(X=1,P(n));

0

> subs(X=1,diff(P(n),X));

2*n+1-(2*n+1)*(n+1)+(2*n+1)*n

> expand(");

0

> expand(subs(X=1,diff(P(n),X$2)));

0

> expand(subs(X=1,diff(P(n),X$3)));

n+3*n^2+2*n^3

> Q:=n->X^(2*n)-n^2*X^(n+1)+2*(n^2-1)*X^n-n^2*X^(n-1)+1;

Q := proc (n) options operator, arrow; X^(2*n)-n^2*...

> subs(X=1,Q(n));

0

> expand(subs(X=1,diff(Q(n),X)));

0

> expand(subs(X=1,diff(Q(n),X$2)));

0

> expand(subs(X=1,diff(Q(n),X$3)));

0

> expand(subs(X=1,diff(Q(n),X$4)));

2*n^4-2*n^2

Exercice 25

> P:=16*X^5-20*X^3+5*X-1;factor(P);

P := 16*X^5-20*X^3+5*X-1

(X-1)*(-1+2*X+4*X^2)^2

> solve(P);

1, 1/4*5^(1/2)-1/4, -1/4-1/4*5^(1/2), 1/4*5^(1/2)-1...

On va dire à Maple de travailler sur un corps plus riche que Q, à savoir Q[sqrt(5)]...

> factor(P,{sqrt(5)});

1/16*(X-1)*(4*X+1+5^(1/2))^2*(4*X+1-5^(1/2))^2

> factor(P,complex);

16.*(X-1.)*(X+.8090169944)^2*(X-.3090169944)^2

Il s'agit d'une factorisation "numérique"

Exercice 26

X^8-1

> P:=X^8-1:factor(P);

(X-1)*(X+1)*(X^2+1)*(X^4+1)

Il s'agit en fait de la factorisation sur Q

> solve(P);

1, -1, I, -I, 1/2*2^(1/2)+1/2*I*2^(1/2), -1/2*2^(1/...

> factor(P,{sqrt(2)});

(X^2+1)*(X^2+2^(1/2)*X+1)*(X^2-2^(1/2)*X+1)*(X-1)*(...

> factor(P,{sqrt(2),I});

1/16*(X+I)*(X-I)*(2*X-2^(1/2)+I*2^(1/2))*(2*X+2^(1/...

X^8+X^4+1

> P:=X^8+X^4+1:

> factor(P);

(X^2+X+1)*(X^2-X+1)*(X^4-X^2+1)

> solve(P);

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

Pouah !!!!

> evalc({"});

{1/2-1/2*I*3^(1/2), -1/2-1/2*I*3^(1/2), 1/2+1/2*I*3...

> factor(P,sqrt(3));

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

> factor(P,{sqrt(3),I});

1/256*(2*X-3^(1/2)+I)*(2*X+3^(1/2)+I)*(2*X-3^(1/2)-...
1/256*(2*X-3^(1/2)+I)*(2*X+3^(1/2)+I)*(2*X-3^(1/2)-...

Exercice 30

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

P := X^3-4*X^2+2*X-1

> sols:={solve(P)};

sols := {1/6*(332+12*321^(1/2))^(1/3)+20/3/(332+12*...
sols := {1/6*(332+12*321^(1/2))^(1/3)+20/3/(332+12*...
sols := {1/6*(332+12*321^(1/2))^(1/3)+20/3/(332+12*...

> sols[1]^2+sols[2]^2+sols[3]^2;

(1/6*(332+12*321^(1/2))^(1/3)+20/3/(332+12*321^(1/2...
(1/6*(332+12*321^(1/2))^(1/3)+20/3/(332+12*321^(1/2...
(1/6*(332+12*321^(1/2))^(1/3)+20/3/(332+12*321^(1/2...
(1/6*(332+12*321^(1/2))^(1/3)+20/3/(332+12*321^(1/2...

> expand(");

12

> sols[1]^3+sols[2]^3+sols[3]^3:

Résultat illisible...

> expand(");

8000/9/(332+12*321^(1/2))+691/18+1/6*321^(1/2)

> simplify(");

43

NB : lorsque Maple ne sait pas trouver explicitement les racines d'un polynôme, il peut cependant évaluer des expressions symétriques en ces racines, grâce RootOf, mais ça devient plus ardu...