Adloun

Python (école d'ingénieur) · Chapitre 12 · Exercice

Fancy indexing

Résolution de systèmes linéaires

Énoncé

Utiliser le fancy indexing pour permuter les lignes et les colonnes d'une matrice.

Corrigé

import numpy as np

A = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8],
              [9, 10, 11, 12],
              [13, 14, 15, 16]])

print("Matrice originale :")
print(A)

# Permutation des lignes 0 et 2
A_perm_lignes = A.copy()
A_perm_lignes[[0, 2]] = A_perm_lignes[[2, 0]]
print("\nAprès permutation des lignes 0 et 2 :")
print(A_perm_lignes)

# Permutation des colonnes 1 et 3
A_perm_colonnes = A.copy()
A_perm_colonnes[:, [1, 3]] = A_perm_colonnes[:, [3, 1]]
print("\nAprès permutation des colonnes 1 et 3 :")
print(A_perm_colonnes)

# Permutation simultanée
A_perm_both = A.copy()
A_perm_both[[0, 2]] = A_perm_both[[2, 0]]
A_perm_both[:, [1, 3]] = A_perm_both[:, [3, 1]]
print("\nAprès permutation des lignes (0 <-> 2) et colonnes (1 <-> 3) :")
print(A_perm_both)

Résultat dans la console :

Matrice originale :
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]
 [13 14 15 16]]

Après permutation des lignes 0 et 2 :
[[ 9 10 11 12]
 [ 5  6  7  8]
 [ 1  2  3  4]
 [13 14 15 16]]

Après permutation des colonnes 1 et 3 :
[[ 1  4  3  2]
 [ 5  8  7  6]
 [ 9 12 11 10]
 [13 16 15 14]]

Après permutation des lignes (0 <-> 2) et colonnes (1 <-> 3) :
[[ 9 12 11 10]
 [ 5  8  7  6]
 [ 1  4  3  2]
 [13 16 15 14]]

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →