Puissance de Hadamard

Bugs

Modérateur : xcasadmin

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Puissance de Hadamard

Message par alb » lun. oct. 17, 2011 2:34 pm

1) [[1, 2],[3,4]] .^ 2 renvoie [5,25] au lieu de [[1,4],[9,16]]
2) Y a-t-il une commande directe (autre que somme(somme(M))) qui renvoie la somme des éléments d'une matrice ?

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Re: Puissance de Hadamard

Message par alb » jeu. oct. 20, 2011 5:06 am

Ce n'est pas un bug ?
Le pb semble ne concerner que les puissances entieres paires

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

Re: Puissance de Hadamard

Message par parisse » jeu. oct. 20, 2011 6:13 am

Je vais voir si je peux modifier .^ pour les matrices, mais pas sur...

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Re: Puissance de Hadamard

Message par alb » jeu. oct. 20, 2011 7:24 am

Désolé pour le up !
Je dois pouvoir m'en sortir comme ça:

Code : Tout sélectionner

Puissance(M,n):={
  local s,res,j,k;
  s:=dim(M);
  res:=copy(M);
  pour j de 0 jusque s[0]-1 faire
    pour k de 0 jusque s[1]-1 faire
      res[j,k]=<res[j,k]^n
    fpour
  fpour
  retourne res
}
:;
ou mieux:

Code : Tout sélectionner

apply(x->x^n,M,matrix)

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

Re: Puissance de Hadamard

Message par parisse » jeu. oct. 20, 2011 8:49 am

bon, je viens de modifier dans le source, ce n'etait pas difficile en definitive.
Je modifie aussi convert(m,list) pour aplatir m en liste si m est une matrice. On pourra donc faire somme(convert(m,list)) pour avoir la somme des elements d'une matrice.

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Re: Puissance de Hadamard

Message par alb » jeu. oct. 20, 2011 7:02 pm

Merci. Pour la somme des éléments en relisant la doc je vois qu'on peut faire aussi count(x->x,M)
ou encore plus court count(id,M)

Répondre