### 6.44.13 Modifier un élément ou une ligne d’une matrice contenue dans une variable : `=<`

Si la matrice a un nom, on peut assigner un élément d’une matrice en utilisant son indice entouré de crochets si les indices commencent à 0 et entouré de doubles crochets si les indices commencent à 1.
Si on assigne avec `:=`, une nouvelle copie de la matrice est créée et l’élément est modifié, et si on assigne avec `=<` la matrice est modifiée sans faire de copie ce qui est plus rapide lorque la matrice est de grande taille.
Par exemple :
Si `A:=[[4,5],[2,6]]`, pour modifier `A` en la matrice `[[4,5],[3,6]]` on peut taper :
`A[1,0]:=3` ou
`A[1,0]=<3` ou
`A[[2,1]]:=3` ou
`A[[2,1]]=<3`
Puis on tape :
`A`
On obtient la nouvelle valeur de `A` :
`[[4,5],[3,6]]`
On peut aussi modifier une ligne, par exemple, si `A:=[[4,5],[2,6]]` pour modifier en `A` la matrice `[[4,5],[3,7]]`, on peut taper :
`A:=[[4,5],[2,6]]` `A[1]:=[3,7]` ou
`A[1]=<[3,7]` ou
`A[[2]]:=[3,7]` ou
`A[[2]]=<[3,7]` ou
Puis on tape :
`A`
On obtient la nouvelle valeur de `A` :
`[[4,5],[3,7]]`.
Remarque
Il faut utiliser `=<` avec précautions car tous les objets pointant sur cette matrice seront modifiés. Dans un programme il faudra utiliser `copy` lors de l’initialisation pour que les modifications se fassent sur la copie (cf 8.4.14).
Par exemple :
On tape :
`B:=[[4,5],[2,6]]`
`A=<B` ou `A:=B`
`A,B`
On obtient :
`[[4,5],[2,6]],[[4,5],[2,6]]`
On tape :
`B[1]=<[3,7]` ou `A[1]=<[3,7]`
`A,B`
On obtient :
`[[4,5],[3,7]],[[4,5],[3,7]]`
Mais si on tape :
`B:=[[4,5],[2,6]]`
`A:=copy(B)`
`A,B`
On obtient :
`[[4,5],[2,6]],[[4,5],[2,6]]`
On tape :
`B[1]=<[3,7]`
`A,B`
On obtient :
`[[4,5],[2,6]],[[4,5],[3,7]]`
Ou si on tape :
`B:=[[4,5],[2,6]]`
`A:=copy(B)`
`A,B`
On obtient :
`[[4,5],[2,6]],[[4,5],[2,6]]`
On tape :
`A[1]=<[3,7]`
`A,B`
On obtient :
`[[4,5],[3,7]],[[4,5],[2,6]]`