Extraire un ou des élément(s) d’une matrice : at

### 6.49.1 Extraire un ou des élément(s) d’une matrice : at

Un matrice est une liste de listes de même longueur.
On tape :

A:=[[3,4,5],[1,2,6]]

On obtient :

[[3,4,5],[1,2,6]]

- Pour obtenir un élément, on met deux arguments entre des crochets : l’indice de la ligne et l’indice de la colonne séparé par une virgule si on veut que les indices commencent à 0.
  On tape :
  [[3,4,5],[1,2,6]][1,2]
  ou
  A[1,2]
  ou
  A[1][2]
  ou
  at(A,[1,2])
  On obtient :
  6
  Ou bien On tape des doubles crochets ou des parenthèses si on veut que les indices commencent à 1 :
  [[3,4,5],[1,2,6]][[1,2]]
  ou
  A[[1,2]]
  ou
  A[[1]][[2]]
  ou
  [[3,4,5],[1,2,6]](1,2)
  ou
  A(1,2)
  ou
  A(1)(2)
  On obtient :
  4
- Pour obtenir une ligne de la matrice A, on met l’indice de la ligne entre des crochets, on tape:
  [[3,4,5],[1,2,6]][1]
  ou
  A[1]
  ou
  at(A,1)
  On obtient :
  [1,2,6]
  Ou bien Si on veut que les indices commencent à 1, on tape des doubles crochets ou des parenthèses :
  [[3,4,5],[1,2,6]][[1]]
  ou
  A[[1]]
  ou
  [[3,4,5],[1,2,6]](1)
  ou
  A(1)
  On obtient :
  [3,4,5]
- Pour obtenir une sous-ligne de la matrice A, on met deux arguments entre des crochets : l’indice de la ligne et un intervalle pour désigner les indices des colonnes formant la sous-ligne.
  On tape :
  A[1,0..2]
  On obtient :
  [1,2,6]
  On tape :
  A[1,1..2]
  On obtient :
  [2,6]
- Pour obtenir, sous la forme d’une liste, une colonne de la matrice A, on utilise tran(A) qui désigne la transposée de A et on tape l’indice de la colonne entre des crochets si les indices commencent à 0 :
  tran([[3,4,5],[1,2,6]])[[1]]
  ou
  tran(A)[1]
  ou
  at(tran(A),1)
  On obtient :
  [4,2]
  Ou bien On tape l’indice de la colonne entre des doubles crochets ou des parenthèses si on veut que les indices commencent à 1 :
  tran([[3,4,5],[1,2,6]])[[1]]
  ou
  tran(A)[[1]]
  ou
  tran([[3,4,5],[1,2,6]])(1)
  ou
  tran(A)(1)
  On obtient :
  [3,1]

  ou encore on met deux arguments entre des crochets : un intervalle pour désigner toutes les lignes et l’indice de la colonne.
  On tape :

  A[0..1,1]

  On obtient :

  [4,2]
- Pour avoir une liste représentant une sous-colonne, on met deux arguments entre des crochets : un intervalle pour désigner les indices des lignes formant la sous-colonne et l’indice de la colonne.
  On tape :
  A[0..0,1]
  On obtient :
  [4]
  Cela peut être utiliser pour extraire une colonne, en mettant comme premier indice, l’intervalle désignant toutes les lignes.
  On tape :
  A[0..1,1]
  On obtient :
  [4,2]
- Pour extraire une sous-matrice d’une matrice, on met deux arguments entre des crochets : un intervalle pour désigner les lignes et un intervalle pour désigner les colonnes.
  On définit la matrice A, on tape :
  A:=[[3,4,5],[1,2,6]]
  On tape :
  A[0..1,1..2]
  On obtient :
  [[4,5],[2,6]]
  On tape :
  A[0..1,1..1]
  On obtient :
  [[4],[2]]
  Remarque
  Si on veut une sous matrice constituée de lignes consécutives complètes, on peut ommettre le deuxième argument et ne mettre que l’intervalle pour désigner les lignes entre des crochets.
  On tape :
  A[1..1]
  On obtient :
  [[1,2,6]]