.. index:: És matriu diagonal? És matriu diagonal? ---------------------------------------- Dissenya la funció *es_matriu_diagonal(m)* que donada una matriu quadrada *m* retorna *True* si es tracta d'una matriu diagonal [1]_ i *False* altrament. .. note:: Una matriu *diagonal* és una matriu quadrada :math:`D = (d_{i,j}) \in {\mathcal M}_{n\times n}` de :math:`{\small n\!\times\!n}` elements que satisfà que els seus elements valen zero a excepció dels de la diagonal principal, que poden valer zero o no: :math:`d_{i,j}=0` si :math:`i\neq j`. És a dir, si té la forma: :math:`\hspace{30mm}A={\begin{pmatrix}a_{1,1}&0&0&\cdots&0&0\\0&a_{2,2}&0&\cdots&0&0\\0&0&a_{3,3}&\cdots&0&0\\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots\\0&0&0&\cdots&a_{n-1,n-1}&0\\0&0&0&\cdots&0&a_{n,n}\\\end{pmatrix}}` | .. code-block:: python3 >>> es_matriu_diagonal([[1, 0], [0, 0]]) True >>> es_matriu_diagonal([[3, 0, 0], [0, 0, 0], [0, 0, -2]]) True >>> es_matriu_diagonal([[3, 0, 1], [0, -1, 0], [0, 0, -1]]) False | .. [1] `Definició de matriu diagonal a la Viquipèdia `_ | | | | | | | | | | | | | | | |