Introduction
Dans ce défi, vous allez vous exercer à utiliser le module NumPy en Python. Vous devrez implémenter plusieurs fonctions courantes pour manipuler des tableaux NumPy, couvrant ainsi les opérations mathématiques et structurelles fondamentales. Les fichiers nécessaires ont été créés pour vous dans l'explorateur de fichiers à gauche.
Multiplication élément par élément
Votre première tâche consiste à créer une fonction qui multiplie deux tableaux NumPy élément par élément. Cela signifie que chaque élément du premier tableau est multiplié par l'élément correspondant dans le second tableau.
À faire
- Complétez la fonction
multiply_arraysdans le fichiermultiply_arrays.py.
Exigences
- La fonction doit obligatoirement s'appeler
multiply_arrays. - Elle doit accepter deux tableaux NumPy,
aetb, en entrée. - Elle doit renvoyer un nouveau tableau NumPy résultant de la multiplication élément par élément de
aetb. - Les tableaux d'entrée auront la même forme (shape).
Exemple
Après avoir implémenté la fonction, exécutez le script pour vérifier le résultat :
python3 multiply_arrays.py
Sortie :
Input a: [1 2 3]
Input b: [4 5 6]
Element-wise multiplication result: [4 10 18]
Expected: [4 10 18]
Multiplication matricielle
Ensuite, vous allez implémenter la multiplication de matrices. Contrairement à la multiplication élément par élément, le produit matriciel suit les règles spécifiques de l'algèbre linéaire et nécessite que les dimensions internes des deux matrices soient compatibles.
À faire
- Complétez la fonction
matrix_multiplydans le fichiermatrix_multiply.py.
Exigences
- La fonction doit s'appeler
matrix_multiply. - Elle doit accepter deux tableaux NumPy,
aetb, en entrée. - Elle doit renvoyer un nouveau tableau NumPy qui est le produit matriciel de
aetb. - Les tableaux d'entrée auront des dimensions compatibles pour une multiplication matricielle.
Exemple
Après avoir implémenté la fonction, exécutez le script pour voir le résultat :
python3 matrix_multiply.py
Sortie :
Input matrix a:
[[1 2]
[3 4]]
Input matrix b:
[[5 6]
[7 8]]
Matrix multiplication result:
[[19 22]
[43 50]]
Expected:
[[19 22]
[43 50]]
Transposition d'un tableau
Dans cette étape, vous allez écrire une fonction pour transposer un tableau NumPy. Transposer un tableau consiste à permuter ses lignes et ses colonnes.
À faire
- Complétez la fonction
transpose_arraydans le fichiertranspose_array.py.
Exigences
- La fonction doit s'appeler
transpose_array. - Elle doit accepter un seul tableau NumPy,
a, en entrée. - Elle doit renvoyer la version transposée du tableau d'entrée.
Exemple
Après l'implémentation, lancez le script pour tester :
python3 transpose_array.py
Sortie :
Original array:
[[1 2 3]
[4 5 6]]
Transposed array:
[[1 4]
[2 5]
[3 6]]
Expected:
[[1 4]
[2 5]
[3 6]]
Redimensionnement d'un tableau
À présent, vous allez créer une fonction pour redimensionner (reshape) un tableau NumPy. Le redimensionnement modifie les dimensions d'un tableau sans changer ses données. Le nombre total d'éléments doit rester identique.
À faire
- Complétez la fonction
reshape_arraydans le fichierreshape_array.py.
Exigences
- La fonction doit s'appeler
reshape_array. - Elle doit accepter un tableau NumPy
aet un tupleshapeen entrée. - Elle doit renvoyer un nouveau tableau contenant les données de
amais avec les nouvelles dimensions spécifiées parshape.
Exemple
Après avoir implémenté la fonction, exécutez le script :
python3 reshape_array.py
Sortie :
Original array: [1 2 3 4 5 6]
New shape: (2, 3)
Reshaped array:
[[1 2 3]
[4 5 6]]
Expected:
[[1 2 3]
[4 5 6]]
Calcul de la distance euclidienne
La distance euclidienne est une méthode courante pour mesurer la distance en ligne droite entre deux points. Votre tâche consiste à implémenter une fonction qui calcule cette distance entre deux tableaux NumPy unidimensionnels (1D).
La formule de la distance euclidienne entre deux vecteurs a et b est la suivante :
$$ d(a, b) = \sqrt{\sum_{i=1}^{n}(a_i - b_i)^2} $$
À faire
- Complétez la fonction
euclidean_distancedans le fichiereuclidean_distance.py.
Exigences
- La fonction doit s'appeler
euclidean_distance. - Elle doit accepter deux tableaux NumPy 1D,
aetb, de même longueur. - Elle doit renvoyer un nombre à virgule flottante (float) représentant la distance euclidienne entre eux.
Exemple
Après l'implémentation, lancez le script pour voir le résultat :
python3 euclidean_distance.py
Sortie :
Point a: [1 2 3]
Point b: [4 5 6]
Euclidean distance: 5.196152422706632
Expected: 5.196152422706632
Résumé
Dans ce défi, vous avez pratiqué les opérations fondamentales de NumPy. Vous avez implémenté des fonctions pour la multiplication élément par élément, le produit matriciel, la transposition de tableaux, le redimensionnement et le calcul de la distance euclidienne. Ces compétences sont essentielles pour l'analyse de données, l'apprentissage automatique (machine learning) et le calcul scientifique en Python.



