### 6.46.5 Matrice triangulaire inférieure ou supérieure associée à une matrice : diag

diag peut avoir 1 ,2 ou 3 arguments.

1. Avec 1 argument qui est soit une liste soit une matrice
   - une liste l, diag(l) renvoie la matrice diagonale de diagonale l.
     On tape :
     diag([1,4])
     On obtient :
     [[1,0],[0,4]]
   - une matrice A, diag(A) renvoie la diagonale de A.
     On tape :
     diag([[1,2],[3,4]])
     On obtient :
     [1,4]
2. Avec 2 arguments qui sont une matrice et une option
   - diag(A,left) renvoie la matrice triangulaire inférieure L formée par la partie gauche large de A (L[j,k]=0 si k>j et L[j,k]=A[j,k] si k<=j).
     On tape :
     diag([[1,2],[3,4]],left)
     On obtient :
     [[1,0],[3,4]]
     On tape :
     diag([[1,2,3],[4,5,6],[7,8,9]],left)
     On obtient :
     [[1,0,0],[4,5,0],[7,8,9]]
   - diag(A,right) renvoie la matrice triangulaire supérieure U formée par la partie droite large de A (L[j,k]=0 si k<j et L[j,k]=A[j,k] si k>=j).
     On tape :
     diag([[1,2],[3,4]],right)
     On obtient :
     [[1,2],[0,4]]
     On tape :
     diag([[1,2,3],[4,5,6],[7,8,9]],right)
     On obtient :
     [[1,2,3],[0,5,6],[0,0,9]]
   - diag(A,lu) renvoie 3 parties de A : la partie gauche stricte, la diagonale et la partie droite stricte. On tape :
     diag([[1,2],[3,4]],lu)
     On obtient :
     [[0,0],[3,0]],[1,4],[[0,2],[0,0]]
     On tape :
     diag([[1,2,3],[4,5,6],[7,8,9]],lu)
     On obtient :
     [[0,0,0],[4,0,0],[7,8,0]],[1,5,9],[[0,2,3],[0,0,6],[0,0,0]]
3. Avec 3 arguments qui sont 3 listes de dimension n-1, n et n-1
   diag(l,d,u) renvoie la matrice tridiagonale de dimension [n,n] et de diagonales principales l,d,u.
   On tape :
   diag([1,2],[3,4,5],[6,7]])
   On obtient :
   [[3,6,0],[1,4,7],[0,2,5]]
   On tape :
   diag([1,2,3],[4,5,6,7],[8,9,10]])
   On obtient :
   [[4,8,0,0],[1,5,9,0],[0,2,6,10],[0,0,3,7]]