Le Thursday 26 November 2009 18:35:47 Marc TERRIER, vous avez écrit :
> Selon Patrick Dupre <pd520@???>:
> > Bonjour,
> >
> > Je n'ai pas trouve la definition de
> > W=diag.(A,B)
> >
> > alors je pose la sur la liste, ce n'est pas tres adapte, mais il doit
> > bien y avoir des members qui font assez de maths pour peut-etre me
> > repondre !
> > Dans mon expression, A,B et W sont des matrices.
> > J'avais cru comprendre que:
> > A 0
> > W = 0 B
> >
> > Mais cela ne marche pas alors j'ai un doute.
> >
> > Merci.
>
> Salut,
>
> Normalement, quand on écrit W = diag (a,b,c,...), c'est que a, b, c, etc.
> sont les coefficients de la diagonale de la matrice W, dont les autres
> coeffs sont nuls. Je suis donc surpris quand tu dis que A et B, dans ton
> cas, sont également des matrices...
>
> Ou alors c'est que A et B sont elles-mêmes des matrices diagonales de
> dimensions n x n et m x m, et que ta fonction diag à toi les "juxtapose"
> pour en faire une autre matrice diagonale, de dimensions n+m x n+m, mais ça
> semble bizarre.
Bonjour
Je ne suis pas sur que la fonction diag soit une vrai fonction mathematique ,
mais plutot une fonction de logiciel de calcul par exemple avec xcas, si on
donne une liste de nombre comme arguments elle créee une matrice carrée dont
la diagonale est composée des arguments passé à la fonction, si on utilise
des matrices carrées comme argument ca recompose une matrice dont la
dimension est la somme des dimenssion des matrices et dont les diagonales des
matrices argument forment la diagonale de la matrice résultat.
exemples :
note [[a,b],[c,d]] =
|a b|
|c d|
diag([a,b,c,d]) = [[a,0,0,0],[0,b,0,0],[0,0,c,0],[0,0,0,d]]
diag([[a,b],[c,d]],[[k,f],[g,h]]) = [[a,b,0,0],[c,d,0,0],[0,0,k,f],[0,0,g,h]]
diag([[a,b,c],[d,f,g],[h,k,l]],[[m,n],[o,p]]) =
[[a,b,c,0,0],[d,f,g,0,0],[h,k,l,0,0],[0,0,0,m,n],[0,0,0,o,p]]
diag([[a,b],[c,d]],[k,f]) = [[a,b],f] <-- le resultat est plus difficile a
prévoir si les dimensions et types des matrices sont différents.