TourMaple.ms

MAPLE V

Un outil de calcul symbolique pour Ingenieurs et Scientifique

par Marc BUFFAT , UFR de Mécanique, UCB Lyon I

INTRODUCTION

Maple V est un outil d'aide pour:
  Le  calcul numerique

  Les traces mathematiques 2D et 3D

  Le calcul algebrique ou symbolique

  Le calcul differentiel et integral

  La resolution d'equations differentielles

  L'algebre lineaire

Maple V est un outil d'aide !!!
Il ne resoud pas les problemes a votre place (ce n'est pas une  boite noire)

Maple V possede un langage pour entrer les commandes

et une aide en ligne (Help)

Un programme Maple doit commence par une remise  a zero du moteur maple

> restart:

> # Ceci est un commentaire

> print(`Bonne nuit les petits`);

Bonne nuit les petits

CALCUL NUMERIQUE

Calcul Numerique avec une arithmetique exacte

> 32*12^13;

3423782572130304

> 200!;

78865786736479050355236321393218506229513597768717326329474253324435944996340334292030428401198462390417721213891963883025764279024263710506192662495282993111346285727076331723739698894392244562145166...78865786736479050355236321393218506229513597768717326329474253324435944996340334292030428401198462390417721213891963883025764279024263710506192662495282993111346285727076331723739698894392244562145166...78865786736479050355236321393218506229513597768717326329474253324435944996340334292030428401198462390417721213891963883025764279024263710506192662495282993111346285727076331723739698894392244562145166...

Factorisation du resultat % en nombres premiers

> ifactor(%);

(2)^197*(3)^97*(5)^49*(7)^32*(11)^19*(13)^16*(17)^11*(19)^10*(23)^8*(29)^6*(31)^6*(37)^5*(41)^4*(43)^4*(47)^4*(53)^3*(59)^3*(61)^3*(67)^2*(71)^2*(73)^2*(79)^2*(83)^2*(89)^2*(97)^2*(101)*(103)*(107)*(1...(2)^197*(3)^97*(5)^49*(7)^32*(11)^19*(13)^16*(17)^11*(19)^10*(23)^8*(29)^6*(31)^6*(37)^5*(41)^4*(43)^4*(47)^4*(53)^3*(59)^3*(61)^3*(67)^2*(71)^2*(73)^2*(79)^2*(83)^2*(89)^2*(97)^2*(101)*(103)*(107)*(1...

Verification

> expand(%)-%%;

0

Calcul exacte avec des fractions et des puissances

> (2^30/3^20)*sqrt(3);

1073741824*3^(1/2)/3486784401

Mais evaluation possible avec une precision quelconque

> evalf(%);

.5333783739

Autres Examples

> sin(sqrt(2/3)*Pi);

sin(6^(1/2)*Pi/3)

> evalf(%);

.5450870920

Maple V calcule des sommes et des produits finies ou infinies

> Sum((1+i)/(1+i^4), i=1..10);

Sum((1+i)/(1+i^4), i = (1 .. 10))

> value(%); evalf(%);

51508056727594732913722/40626648938819200088497

1.267839166

> P:=Product(((i^2+3*i-11)/(i+3)), i=0..10);

P := Product((i^2+3*i-11)/(i+3), i = (0 .. 10))

> value(P);

(-7781706512657)/40435200

Calculs flottants

Maple V peut effectuer des calculs en flottants avec une precision quelconque
par example avec 50 chiffres

> evalf(P,50);

-192448.81965854008388730610952833175055397277619500

FONCTIONS MATHEMATIQUES

Maple V connait les nombres complexes (I=sqrt(-1))

> (3+5*I)/(7+4*I);


Les fonctions mathematiques et les constantes

> Pi; sin(Pi/2); cos(Pi/4); exp(log[10](10));

41/65+23/65*I

Pi

1

2^(1/2)/2

exp(1)

Evaluation de Pi avec 70 chiffres

> evalf(Pi, 70);

3.141592653589793238462643383279502884197169399375105820974944592307816

GRAPHIQUE

> with(plots):

Warning, the name changecoords has been redefined

trace 2D

Trace de fonctions

> plot(sin(x)/x,x=0..6*Pi,thickness=2,title="sin(x)/x");

[Plot]

Trace de fonctions avec gestion des discontinuites

> plot( tan(x), x=-2*Pi..2*Pi, -4..4, discont=true, title="Trace de Tan(x)");

[Plot]

Trace de fonctions de 2 variables explicites ou implicites

> plot3d(x*exp(-x^2-y^2), x=-2..2, y=-2..2,axes=BOXED, title=`Surface Plot`);

[Plot]

Trace 3D

Trace 3D de la surface de  Kuen

> kuenx:= (u,v) -> 2*(cos(u) + u*sin(u))*sin(v)/(1 + (u*sin(v))^2);
kueny:= (u,v) -> 2*(sin(u) - u*cos(u))*sin(v)/(1 + (u*sin(v))^2);

kuenz:= (u,v) -> log(tan(v/2)) + 2*cos(v)/(1 + (u*sin(v))^2);

plot3d([kuenx,kueny,kuenz],-4..4,.01..Pi-.01,grid=[35,35],

      orientation=[146,76],projection=0.8,

      style=patch,ambientlight=[.9,.8,.9], title=`The Kuen Surface`);

kuenx := proc (u, v) options operator, arrow; 2*(cos(u)+u*sin(u))*sin(v)/(1+u^2*sin(v)^2) end proc

kueny := proc (u, v) options operator, arrow; 2*(sin(u)-u*cos(u))*sin(v)/(1+u^2*sin(v)^2) end proc

kuenz := proc (u, v) options operator, arrow; log(tan(1/2*v))+2*cos(v)/(1+u^2*sin(v)^2) end proc

[Plot]

Trace de fonctions implicites:  super-ellipsoide x^10+y^10+z^10-1=0 .

> implicitplot3d(x^10+y^10+z^10-1=0,x=-1..1,y=-1..1,z=-1..1,style=PATCHNOGRID,
              title=`A Super-ellipsoid`);

[Plot]

Animation

Possibilite d'animations

> animate( {x-x^3/t , sin(t*x)}, x=0..Pi/2, t=1..16);

[Plot]

CALCUL ALGEBRIQUE

expression mathématiques

Maple sait manipuler, simplifier, evaluer des expressions mathematiques
avec des variables (au sens mathematique)

> (x+y)^3*(x+y)^2;

(x+y)^5

Que l'on peut developper

> expand(%);

x^5+5*x^4*y+10*x^3*y^2+10*x^2*y^3+5*x*y^4+y^5

Et refactoriser

> factor(%);

(x+y)^5

De meme il peut simplifier des expressions trigonometriques

> cos(x)^5 + sin(x)^4 + 2*cos(x)^2 - 2*sin(x)^2 - cos(2*x);
simplify(%);

cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)

cos(x)^4*(cos(x)+1)

Normaliser des fractions

> (x^3-y^3)/(x^2+x-y-y^2); normal(%);

(x^3-y^3)/(x^2+x-y-y^2)

(x^2+x*y+y^2)/(x+1+y)

On peut definir des variables pour manipuler des expressions

> my_expr := (41*x^2+x+1)^2*(2*x-1);

my_expr := (41*x^2+x+1)^2*(2*x-1)

Puis la developper

> my_result := expand(my_expr);

my_result := 3362*x^5-1517*x^4+84*x^3-79*x^2-1

On peut convertir des expressions trigonometriques en notation exponentielle

> convert(cot(x) , exp);

(exp(x*I)^2+1)*I/(exp(x*I)^2-1)

Définition de fonction

Maple V permet de definir ses propres fonctions avec l'operateur ->

> f1 :=  x ->  x^2+1/2 ;

f1 := proc (x) options operator, arrow; x^2+1/2 end proc

Et l'on peut obtenir des valeurs numeriques ou symboliques

> f1(2);

9/2

> f1(a+b);

(a+b)^2+1/2

Pour des fonctions plus complexes, on peut utiliser des procedures

> f2 := proc(x)  
if x > 3 then x^2

  else x-5

fi;

end;

f2 := proc (x) if 3 < x then x^2 else x-5 end if end proc

> f2(-1);

-6

> f2(6);

36

> plot( f2, 0..6, title=`Fonction définie par morceaux`, axes=BOXED );

[Plot]

RESOLUTION D'EQUATION et de SYSTEME D'EQUATIONS

Recherche des racines d'une equation

> expr := x^3-1/2*x^2*a+13/3*x^2 = 13/6*x*a+10/3*x-5/3*a;

expr := x^3-1/2*x^2*a+13/3*x^2 = 13/6*x*a+10/3*x-5/3*a

> solve(expr,x);

2/3, -5, a/2


Resolution de systemes d'equations

> eqn1 := x+2*y+3*z+4*t+5*u=41;
eqn2 := 5*x+5*y+4*z+3*t+2*u=20;

eqn3 := 3*y+4*z-8*t+2*u=125;

eqn4 := x+y+z+t+u=9;

eqn5 := 8*x+4*z+3*t+2*u=11;

eqn1 := x+2*y+3*z+4*t+5*u = 41

eqn2 := 5*x+5*y+4*z+3*t+2*u = 20

eqn3 := 3*y+4*z-8*t+2*u = 125

eqn4 := x+y+z+t+u = 9

eqn5 := 8*x+4*z+3*t+2*u = 11

solution

> s1 := solve({eqn1,eqn2,eqn3,eqn4,eqn5}, {x,y,z,t,u});

s1 := {z = -1, y = 3, x = 2, u = 16, t = -11}

Resolution de problemes sous-contraints

> s2 := solve({eqn||(1..3)}, {x,y,z});

s2 := {x = -527/13-7*t-28*u/13, z = -70/13-7*t-59*u/13, y = 635/13+12*t+70*u/13}

CALCUL DIFFERENTIEL ET INTEGRAL

Series

Developpement en series de fonctions

> f := sin(4*x)*cos(x);

f := sin(4*x)*cos(x)

> fs1 := series(f,x=0);

fs1 := series(4*x-38/3*x^3+421/30*x^5+O(x^6),x,6)

Que l'on peut comparer graphiquement

> plot({f, convert(fs1,polynom)},x=-1..1, -2..2,
     title=`sin(4x) cos(x) vs. Series`);

[Plot]

En augmentant l'ordre de tronacture a 12

> Order := 12;

Order := 12

> fs2 := series(f,x=0);

fs2 := series(4*x-38/3*x^3+421/30*x^5-10039/1260*x^7+246601/90720*x^9-6125659/9979200*x^11+O(x^12),x,12)

> plot({f, convert(fs2,polynom)}, x=-1..1, -2..2,
     title=`sin(4x) cos(x) vs. Series`);

[Plot]

Calcul de limite

limite d'expression

> f := (x^2-2*x+1)/(x^4+3*x^3-7*x^2+x+2);

f := (x^2-2*x+1)/(x^4+3*x^3-7*x^2+x+2)

> limit(f,x=1);

1/8

Meme a l'infini

> f := (2*x+3)/(7*x+5);

f := (2*x+3)/(7*x+5)

> limit(f,x=infinity);

2/7

Limite a gauche

> limit(tan(x), x=Pi/2, left);

infinity

Et a droite

> limit(tan(x), x=Pi/2, right);

-infinity

Derivees et primitives

calcul symbolique de derivees et de primitives

> f := x*sin(a*x) + b*x^2;

f := x*sin(x*a)+b*x^2

> df := diff(f,x);

df := sin(x*a)+x*cos(x*a)*a+2*b*x

primitive

> int(df,x); simplify(%);

-cos(x*a)/a+(cos(x*a)+x*a*sin(x*a))/a+b*x^2

x*(sin(x*a)+b*x)

Calcul d'integrale definie

> int(df,x=1..2);

-sin(a)+3*b+2*sin(2*a)

Exemple plus complexe ?

> f := exp(-x^2);

f := exp(-x^2)

> int(f,x);

1/2*Pi^(1/2)*erf(x)

Un autre exemple

> f := exp(-a*t)*ln(t);

f := exp(-a*t)*ln(t)

> int(f,t=0..infinity);

limit(-(exp(-a*t)*ln(t)+Ei(1, a*t)+gamma+ln(a))/a, t = infinity)

En precisant que le parametre a est positif, on peut simplifier

> assume(a > 0):

> int(f,t=0..infinity);

-ln(a)/a-gamma/a

Pour eliminer l'hypothese sur a

> a := 'a':

integrales spéciales

Calcul d'integrales elliptiques avec les fonctions mathematiques speciales

> f := 1/sqrt(2*t^4-3*t^2-2);

f := 1/(2*t^4-3*t^2-2)^(1/2)

> int(f,t=2..3);

1/5*5^(1/2)*EllipticF(7^(1/2)/3, 5^(1/2)/5)-1/5*5^(1/2)*EllipticF(2^(1/2)/2, 5^(1/2)/5)

EQUATIONS DIFFERENTIELLES ou ODE

ODE

ODE du 2nd ordre

> diff_eq1 := diff(y(t),t,t) + 5*diff(y(t),t) + 6*y(t) = 0;

diff_eq1 := diff(y(t), `$`(t, 2))+5*diff(y(t), t)+6*y(t) = 0

Conditions initiales en 0:  y(0) et dy/dx(0):

> init_con := y(0)=0, D(y)(0)=1;

init_con := y(0) = 0, D(y)(0) = 1

Resolution avec dsolve()

> dsolve({diff_eq1,init_con},y(t));

y(t) = -exp(-3*t)+exp(-2*t)

ODE du 4ieme ordre:

> diff_eq2 := 10^6*diff(y(x),x,x,x,x) = Dirac(x-2) - Dirac(x-4);

diff_eq2 := 1000000*diff(y(x), `$`(x, 4)) = Dirac(x-2)-Dirac(x-4)

avec des C.L.

> bound_con := y(0)=0, D(D(y))(0)=0, y(5)=0, D(D(y))(5)=0;

bound_con := y(0) = 0, `@@`(D, 2)(y)(0) = 0, y(5) = 0, `@@`(D, 2)(y)(5) = 0

Resolution avec dsolve:

> soln := dsolve({diff_eq2,bound_con},y(x));

soln := y(x) = 1/6000000*Heaviside(x-2)*x^3-1/750000*Heaviside(x-2)+1/500000*Heaviside(x-2)*x-1/1000000*Heaviside(x-2)*x^2-1/6000000*Heaviside(x-4)*x^3+1/93750*Heaviside(x-4)-1/125000*Heaviside(x-4)*x...soln := y(x) = 1/6000000*Heaviside(x-2)*x^3-1/750000*Heaviside(x-2)+1/500000*Heaviside(x-2)*x-1/1000000*Heaviside(x-2)*x^2-1/6000000*Heaviside(x-4)*x^3+1/93750*Heaviside(x-4)-1/125000*Heaviside(x-4)*x...

Puis trace

> plot(rhs(soln),x=0..5, axes=BOXED, title=`Solution to a 4th Order BVP`);

[Plot]

Système d'ODE

Resolution de systemes d'ODE.

> de_sys := diff(y(x),x,x)=z(x), diff(z(x),x,x)=y(x);

de_sys := diff(y(x), `$`(x, 2)) = z(x), diff(z(x), `$`(x, 2)) = y(x)

La solution est donnee en fonction de constantes d'integration _C1 ...

> dsolve({de_sys}, {z(x),y(x)});

{z(x) = _C1*exp(x)+_C2*exp(-x)+_C3*sin(x)+_C4*cos(x), y(x) = _C1*exp(x)+_C2*exp(-x)-_C3*sin(x)-_C4*cos(x)}

CALCUL MATRICIEL

Chargement de la librairie d'algebre lineaire

> with(linalg):

Warning, the protected names norm and trace have been redefined and unprotected

Matrice 3x3

> M1 := array([[1/2,-1/3,2],[-5,14/3,9],[0,11,-5/6]]): M1;print(M1);

M1

matrix([[1/2, (-1)/3, 2], [-5, 14/3, 9], [0, 11, (-5)/6]])

Calcul de l'inverse

> inverse(M1);

matrix([[1852/2881, (-391)/2881, 222/2881], [75/2881, 15/5762, 261/2881], [990/2881, 99/2881, (-12)/2881]])

Matrice avec des coefficiants symboliques

> M2 := array([[1/2,0,-2],[sin(theta),1,phi^2],[0,phi-1,3/4]]);

M2 := matrix([[1/2, 0, -2], [sin(theta), 1, phi^2], [0, phi-1, 3/4]])

Multiplication:

> M3 := multiply(M1,M2);

M3 := matrix([[1/4-1/3*sin(theta), -7/3+2*phi, 1/2-phi^2/3], [-5/2+14/3*sin(theta), -13/3+9*phi, 67/4+14*phi^2/3], [11*sin(theta), 71/6-5*phi/6, -5/8+11*phi^2]])

Calcul du determinant

> det(M3);

-2881/48-2881*phi^2/36+2881*phi^3/36-2881/9*sin(theta)+2881/9*sin(theta)*phi

Des valeurs propres et des vecteurs propres ??

> map(simplify,[eigenvals(M2)]);

[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...[1/12*((216*phi^3-216*phi^2+1728*sin(theta)-1728*sin(theta)*phi+3*(165888*sin(theta)*phi^3-82944*phi^4*sin(theta)-82944*sin(theta)*phi^2+331773+663552*cos(theta)^2*phi-331776*cos(theta)^2*phi^2-36864*...

Que l'on peut evaluer

> simplify(eval(subs(phi=0,theta=0,%)));

[1, 1/2, 3/4]

Vandermonde matrice pour les  variables s, t, u, v, et w:

> vandermonde([s,t,u,v,w]);

matrix([[1, s, s^2, s^3, s^4], [1, t, t^2, t^3, t^4], [1, u, u^2, u^3, u^4], [1, v, v^2, v^3, v^4], [1, w, w^2, w^3, w^4]])

PROGRAMMATION

Boucle

 boucle:  for var from debut by pas to fin do  instr.  end do;

> s:=0:
for i from 1 by 2 to 100 do

 s:=s+i

end do:

's'=s;

s = 2500

boucle tant que: while condition do instr. end do;

> s:=0: i:=1:
while s<2500 do

  s:=s+i; i:=i+2;

end do:

i; s;

101

2500

Sortie de boucle: break

Test logique

Test logique: if cond. then exp1 else exp2 end if;
comparaison:  >, >=, <, <=, =, <>,  and , or , not

> a:=rand(); b:=rand();

> if (a>b) then a else b end if;

a := 604305613921

b := 745580037409

745580037409

Procedure


Calcul du PGCD de nombres entiers a et b

> PGCD:=proc(a,b)
local x1,x2;

x1:=a; x2:=b;

while (x1<>x2) do

   if (x1>x2) then x1:=x1-x2 else x2:=x2-x1 end if;

end do;

return x1;

end proc;

PGCD := proc (a, b) local x1, x2; x1 := a; x2 := b; while x1 <> x2 do if x2 < x1 then x1 := x1-x2 else x2 := x2-x1 end if end do; return x1 end proc

> PGCD(3*5*7^2,5*7*2);

35

FIN

>