### 6.49.1 Modifier un élément ou une ligne d’une matrice : `subsop`

`subsop` permet de modifier un élément ou une ligne d’une matrice sans avoir à stocker la matrice dans une variable.

1. Modification d’un élément
   `subsop` a deux ou trois arguments.
   Attention
   En mode `Maple` les arguments sont permutés.
   - En mode `Xcas`, les indices commence à 0 :
     `subsop` a deux (resp trois) arguments : une matrice `A` et une égalité `[r,c]=v` (resp une matrice `A`, la liste des indices de la ligne et de la colonne `[r,c]`, la nouvelle valeur `v`).
     On tape en mode `Xcas` :
     `subsop([[4,5],[2,6]],[1,0]=3)`
     Ou on tape :
     `subsop([[4,5],[2,6]],[1,0],3)`
     On obtient :
     `[[4,5],[3,6]]`
   - En mode `Mupad, TI`, les indices commencent à 1 :
     `subsop` a deux (resp trois) arguments : une matrice `A` et une égalité `[r,c]=v` (resp une matrice `A`, la liste des indices de la ligne et de la colonne `[r,c]`, la nouvelle valeur `v`).
     On tape en mode `Mupad, TI` :
     `subsop([[4,5],[2,6]],[2,1]=3)`
     Ou on tape :
     `subsop([[4,5],[2,6]],[2,1],3)`
     On obtient :
     `[[4,5],[3,6]]`
     Remarque
     Si la matrice a un nom par exemple :
     `A:=[[4,5],[2,6]]`, on peut taper directement `A[2,1]:=3` pour modifier `A` en la matrice `[[4,5],[3,6]]`.
   - En mode `Maple`, les arguments sont permutés et les indices commencent à 1 :
     `subsop` a deux arguments : une égalité `[r,c]=v` et une matrice `A`.
     On tape :
     `subsop([2,1]=3,[[4,5],[2,6]])`
     On obtient :
     `[[4,5],[3,6]]`
     Remarque
     Si la matrice à un nom par exemple :
     `A:=[[4,5],[2,6]]`, on peut taper directement `A[2,1]:=3` pour modifier `A` en la matrice `[[4,5],[3,6]]`.
2. Modification d’une ligne
   `subsop` permet de modifier une ligne d’une matrice sans avoir à stocker la matrice dans une variable.
   `subsop` a alors deux arguments :
   - En mode `Xcas`, les indices commence à 0 :
     `subsop` a deux arguments une matrice et une égalité, à savoir l’indice de la ligne à modifier, suivi du signe `=` puis la liste des nouvelles valeurs de cette ligne.
     On tape en mode `Xcas` :
     `subsop([[4,5],[2,6]],1=[3,3])`
     On obtient :
     `[[4,5],[3,3]]`
     Remarque
     Si la matrice à un nom par exemple :
     `A:=[[4,5],[2,6]]`, on peut taper directement `A[1]:=[3,3]` pour modifier `A` en la matrice `[[4,5],[3,3]]`.
   - En mode `Mupad, TI`, les indices commencent à 1 :
     `subsop` a deux arguments une matrice et une égalité, à savoir l’indice de la ligne à modifier, suivi du signe `=` puis la liste des nouvelles valeurs de cette ligne.
     On tape en mode `Mupad, TI` :
     `subsop([[4,5],[2,6]],2=[3,3])`
     On obtient :
     `[[4,5],[3,3]]`
     Remarque
     Si la matrice à un nom par exemple :
     `A:=[[4,5],[2,6]]`, on peut taper directement `A[2]:=[3,3]` pour modifier `A` en la matrice `[[4,5],[3,3]]`.
   - En mode `Maple` les arguments sont permutés et les indices commencent à 1 :
     `subsop` a deux arguments une égalité, à savoir l’indice de la ligne à modifier, suivi du signe `=` puis la liste des nouvelles valeurs de cette ligne et une matrice.
     On tape :
     `subsop(2=[3,3],[[4,5],[2,6]])`
     On obtient :
     `[[4,5],[3,3]]`
     Remarque
     Si la matrice à un nom par exemple :
     `A:=[[4,5],[2,6]]`, on peut taper directement `A[2]:=[3,3]` pour modifier `A` en la matrice `[[4,5],[3,3]]`.

Remarque
On peut aussi supprimer la ligne n d’une matrice avec `subsop` en mettant comme second argument `’n=NULL’`.
On tape en mode `Xcas` :

`subsop([[4,5],[2,6]],’1=NULL’)`

On obtient :

`[[4,5]]`