diff --git a/README.md b/README.md index 3ebe1006e9eaf98aaf48eb058f9597ca1ddf06d2..a6175ef168344b86f188a18508953a19a99905aa 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Numeric + Ce repository contient l'énoncé du TP "numeric" et un squelette maven. Nous vous conseillons de vous abonner aux notifications (watch) pour ne pas manquer des annonces ou des changements. @@ -15,13 +16,14 @@ Le projet contient déjà un ensemble de tests unitaires. Faites-en sorte que le Vous devez réaliser des fonctionnalités sur les calculs vectoriels (dans un premier temps). Utilisez le package `ch.hepia.numeric` pour mettre vos classes. -### Opération sur les vecteurs (méthodes d'instance) +### Opérations sur les vecteurs (méthodes d'instance) (Regardez les tests unitaires pour comprendre comment elles fonctionnent) - [ ] `add(), mul(), sub()` pour les opérations de bases - [ ] `norm()` pour calculer la norme d'un vecteur - [ ] `t()` pour retourner la vesion transposée +- [ ] `dot()` pour retourner le produit scalaire de deux vecteurs (en notation matricielle) - [ ] `get()` pour retourner un élément - [ ] `set()` en tant que méthode non publique pour modifier une valeur - [ ] `map()` pour retourner une version transformée @@ -33,6 +35,27 @@ Vous devez réaliser des fonctionnalités sur les calculs vectoriels (dans un pr Toutes ces fonctionnalités doivent exister sur un vecteur transposé. +##### Produit scalaire en notation matricielle + +```math +\vec{x}^t \cdot \vec{y} = \begin{bmatrix} + x_1 & x_2 & ... & x_n +\end{bmatrix} \cdot \begin{bmatrix} + y_1 \\ y_2 \\ ... \\ y_n +\end{bmatrix} = \sum_{i=1}^n x_i \cdot y_i +``` + +##### Norme d'un vecteur + +```math +\vec{v} \begin{pmatrix} + v_1 \\ + v_2 \\ + ... \\ + v_n +\end{pmatrix} = \lVert \vec{v} \rVert = \sqrt{v_1^2 + v_2^2 + ... + v_n^2} +``` + ### Opérations statiques (méthodes de classes) (Regardez les tests unitaires pour comprendre comment elles fonctionnent)