3. Sequences, listes, ensembles 1. Les s\303\251quences Une s\303\251quence est une suite ordonn\303\251e d'objets Maple, s\303\251par\303\251s par une virgule, un m\303\252me objet pouvant appara\303\256tre plusieurs fois. s1:=x^2,1.1,sqrt(2),ln(2),maple; La commande seq est tr\303\250s utile dans la construction de s\303\251quences : s2:=seq(i,i=0..10); La concat\303\251nation des s\303\251quences s1 et s2 s'obtient en \303\251crivant s3:=s1,s2; On acc\303\250de au i-\303\250me terme de la s\303\251quence s par s[i] : s1[2];s3[5]; Dans une s\303\251quence, Maple conserve l'ordre dans lequel on a entr\303\251 les \303\251l\303\251ments et l'on ne peut pas changer un \303\251l\303\251ment d'une s\303\251quence. 2. Les listes Une liste est une suite ordonn\303\251e d'objets Maple, s\303\251par\303\251s par une virgule, un m\303\252me \303\251l\303\251ment pouvant appara\303\256tre plusieurs fois, et d\303\251limit\303\251e par [ ]. Une s\303\251quence est donc le contenu d'une liste mais certaines instructions valables pour les listes ne sont pas valables pour les s\303\251quences et r\303\251ciproquement. L1:=[a,1,sqrt(2)];L2:=[seq(i^2,i=1..5),9]; -- On acc\303\250de au i\303\250me terme de la liste par L[i]; -- La commande op donne le contenu de la liste (transforme une liste en une s\303\251quence) ; -- La commande nops donne le nombre d'\303\251l\303\251ments de la liste. L2[6];op(L1);nops(L1);L3:=[op(L1),op(L2)]; Contrairement aux s\303\251quences, on peut changer un \303\251l\303\251ment dans une liste : L2[4];L2[4]:=0;L2; Pour ins\303\251rer un terme dans une liste, on proc\303\250de de la mani\303\250re suivante : par exemple pour ins\303\251rer le terme 18 entre le troisi\303\250me et le quatri\303\250me terme de la liste L2 : L:=[op(L2[1..3]),18,op(L2[4..6])]; La commande map(f,liste) permet d'appliquer la fonction f aux \303\251l\303\251ments d'une liste; le r\303\251sultat est une liste o\303\271 tous les \303\251l\303\251ments de la liste sont remplac\303\251es par leur image par la fonction f : L3:=map(x->x^3,L1); L:=[sin(x),cos(x),tan(x)]; map(diff,L,x); 3. Les ensembles Un ensemble est une suite non ordonn\303\251e d'objets distincts, s\303\251par\303\251s par une virgule et d\303\251limit\303\251e par { }. Maple se charge de supprimer les \303\251ventuelles r\303\251p\303\251titions. e1:={seq(i,i=1..5)};e2:={seq(i^2,i=-10..10)}; Les fonctions union, intersec, minus, map s'appliquent : e1 union e2;e1 intersect e2;e1 minus e2;map(sin,e1); 4. Les tableaux Un tableau est une suite de listes "superpos\303\251es" s\303\251par\303\251es par une virgule et d\303\251limit\303\251e par des [ ]. Maple propose plusieurs fonctions : array, matrix, vector. A:=array(1..2,1..4,[[a,b,c,d],[e,f,g,h]]);matrix([[a,b,c,d],[e,f,g,h]]); A[2,3]; Il y a plusieurs fa\303\247ons d'\303\251crire des vecteurs... Les fonctions innerprod (produit scalaire) et crossprod (produit vectoriel) s'appliquent sur les vecteurs apr\303\250s avoir charg\303\251 le package "linalg" : with(linalg):v1:=vector([a,b,c]);v2:=vector([d,e,f]);Vector([a,b,c]),Vector([d,e,f]); innerprod(v1,v2);crossprod(v1,v2);norm(v1,2); v3:=[a,b,c];v4:=[d,e,f];innerprod(v3,v4);crossprod(v3,v4); v5:=<a,b,c>;v6:=<d,e,f>; innerprod(v5,v6);crossprod(v5,v6);<crossprod(v5,v6)>;