next up previous contents index
suivant: Temps de calcul, place monter: Les objets du calcul précédent: Les fonctions   Table des matières   Index


Listes, séquences, ensembles

Xcas distingue plusieurs sortes de collections d'objets, séparés par des virgules :
$ \bullet$
les listes (entre crochets)
$ \bullet$
les séquences (entre parenthèses)
$ \bullet$
les ensembles (entre pourcentage-accolades)
liste:=[1,2,4,2]
sequence:=(1,2,4,2)
ensemble:=%{1,2,4,2%}
Les listes peuvent contenir des listes (c'est le cas des matrices), alors que les séquences sont plates (un élément d'une séquence ne peut pas être une séquence). Dans un ensemble, l'ordre n'a pas d'importance et chaque objet est unique. Il existe une autre structure, appelée table, dont nous reparlerons plus loin.

Il suffit de mettre une séquence entre crochets pour en faire une liste ou entre accolades précédées de % pour en faire un ensemble. On passe d'une liste à sa séquence associée par op, d'une séquence à sa liste associée en la mettant entre crochets ou avec la fonction nop. Le nombre d'éléments d'une liste est donné par size (ou nops).

se:=(1,2,4,2)
li:=[se]
op(li)
nop(se)
nops(se)
%{se%}
size([se])
size(%{se%})
Pour fabriquer une liste ou une séquence, on utilise des commandes d'itération comme $ ou seq (qui itèrent une expression) ou makelist (qui définit une liste à l'aide d'une fonction).
1$5
k^2 $ (k=-2..2)
seq(k^2,k=-2..2)
seq(k^2,k,-2..2)
[k^2$(k=-2..2)]
seq(k^2,k,-2,2)
seq(k^2,k,-2,2,2)
makelist(x->x^2,-2,2)
seq(k^2,k,-2,2,2)
makelist(x->x^2,-2,2,2)
La séquence vide est notée NULL, la liste vide []. Pour ajouter un élément à une séquence il suffit d'écrire la séquence et 'élément séparés par une virgule. Pour ajouter un élément à une liste on utilise append. On accède à un élément d'une liste ou d'une séquence grâce à son indice mis entre crochets, le premier élément étant d'indice 0.
se:=NULL; se:=se,k^2$(k=-2..2); se:=se,1
li:=[1,2]; (li:=append(li,k^2))$(k=-2..2)
li[0],li[1],li[2]

Les polynômes sont souvent définis par une expression, mais ils peuvent aussi être représentés par la liste de leurs coefficients par ordre de degré décroissant, avec comme délimiteurs %[ et %]. Il existe aussi une représentation pour les polynômes à plusieurs variables. Les fonctions symb2poly et poly2symb permettent de passer de la représentation expression à la représentation par liste et inversement, le deuxième argument détermine s'il s'agit de polynômes en une variable (on met le nom de la variable) ou de polynômes à plusieurs variables (on met la liste des variables).

Séquences et listes
E$(k=n..m) créer une séquence
seq(E,k=n..m) créer une séquence
[E$(k=n..m)] créer une liste
makelist(f,k,n,m,p) créer une liste
op(li) passer de liste à séquence
nop(se) passer de séquence à liste
nops(li) nombre d'éléments
size(li) nombre d'éléments
sum somme des éléments
product produit des éléments
cumSum sommes cumulées des éléments
apply(f,li) appliquer une fonction à une liste
map(li,f) appliquer une fonction à une liste
poly2symb polynôme associé à une liste
symb2poly coefficients d'un polynôme

next up previous contents index
suivant: Temps de calcul, place monter: Les objets du calcul précédent: Les fonctions   Table des matières   Index
Documentation de giac écrite par Renée De Graeve, Bernard Parisse et Bernard Ycart