Jeux Mathématiques avec NumPy

PythonBeginner
Pratiquer maintenant

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_arrays dans le fichier multiply_arrays.py.

Exigences

  • La fonction doit obligatoirement s'appeler multiply_arrays.
  • Elle doit accepter deux tableaux NumPy, a et b, en entrée.
  • Elle doit renvoyer un nouveau tableau NumPy résultant de la multiplication élément par élément de a et b.
  • 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_multiply dans le fichier matrix_multiply.py.

Exigences

  • La fonction doit s'appeler matrix_multiply.
  • Elle doit accepter deux tableaux NumPy, a et b, en entrée.
  • Elle doit renvoyer un nouveau tableau NumPy qui est le produit matriciel de a et b.
  • 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_array dans le fichier transpose_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_array dans le fichier reshape_array.py.

Exigences

  • La fonction doit s'appeler reshape_array.
  • Elle doit accepter un tableau NumPy a et un tuple shape en entrée.
  • Elle doit renvoyer un nouveau tableau contenant les données de a mais avec les nouvelles dimensions spécifiées par shape.

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_distance dans le fichier euclidean_distance.py.

Exigences

  • La fonction doit s'appeler euclidean_distance.
  • Elle doit accepter deux tableaux NumPy 1D, a et b, 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.

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer