arguments d'une matrice et d'une liste dans un programme

Utilisation à l'épreuve de modélisation de l'agrégation de mathématiques

Modérateur : xcasadmin

Denizou
Messages : 61
Inscription : mer. juin 13, 2012 7:23 am

arguments d'une matrice et d'une liste dans un programme

Message par Denizou » jeu. sept. 20, 2012 4:51 pm

Bonjour,

je souhaite décomposer une matrice P sur une base de matrices donnée sous forme d'une liste B:=(E1,...,En)
J'ai écrit une procédure "décompose(P,B)" ayant donc P et B comme arguments et qui en premier calcule la taille de P et la dimension de B.
Le problème est que Xcas n'y arrive pas car il "agrège" P et B en une liste de matrice et ne reconnait plus ni P ni B. D'où un message d'erreur pour le calcul des dimensions.

J'ai résolu le problème en gardant B en variable globale et écrit une procédure "décompose(P)" qui fonctionne. Je voulais savoir s'il y avait une rédaction spécifique pour écrire un programme ayant comme arguments une ou des matrices avec une liste de matrices en gardant bien séparer les deux types d'arguments.

Merci

parisse
Messages : 4842
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: arguments d'une matrice et d'une liste dans un programme

Message par parisse » ven. sept. 21, 2012 6:43 am

La notation (,,) meme avec des parentheses cree une sequence, pas une liste. Il faut utiliser des crochets comme delimiteur: B:=[E1,...,En], vous pourrez ensuite passer B en 2eme argument sans que le 1er argument et les elements de B ne soient concatenes.

Denizou
Messages : 61
Inscription : mer. juin 13, 2012 7:23 am

Re: arguments d'une matrice et d'une liste dans un programme

Message par Denizou » ven. sept. 21, 2012 9:02 pm

parisse a écrit :La notation (,,) meme avec des parentheses cree une sequence, pas une liste. Il faut utiliser des crochets comme delimiteur: B:=[E1,...,En], vous pourrez ensuite passer B en 2eme argument sans que le 1er argument et les elements de B ne soient concatenes.
Je viens d'essayer et effectivement tout roule !
Merci beaucoup.

Répondre