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 ?
Puissance de Hadamard
Modérateur : xcasadmin
Re: Puissance de Hadamard
Ce n'est pas un bug ?
Le pb semble ne concerner que les puissances entieres paires
Le pb semble ne concerner que les puissances entieres paires
Re: Puissance de Hadamard
Je vais voir si je peux modifier .^ pour les matrices, mais pas sur...
Re: Puissance de Hadamard
Désolé pour le up !
Je dois pouvoir m'en sortir comme ça:
ou mieux:
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
}
:;
Code : Tout sélectionner
apply(x->x^n,M,matrix)
Re: Puissance de Hadamard
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.
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.
Re: Puissance de Hadamard
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)
ou encore plus court count(id,M)