diff --git a/README.md b/README.md
index ed5eb7d3a9aba9da47186ec0d6ba1951fa64a00b..2c3d76818fd517004546d576bad0d10e2373b9ae 100644
--- a/README.md
+++ b/README.md
@@ -272,10 +272,11 @@ qui sera une alternative de `Vector.linespace(0.0, 5.0, 20)`.
 
 ## Fonctionnalités à réaliser sur les matrices 
 
-- inverse d'une matrice : $`A^{-1} = \frac{adjugate(A)}{|A|}`$ où $`|A|`$ est le déterminant d'une matrice
-- `adjugate` : solution donnée (mais vous pouvez vous référer à [wiki](https://en.wikipedia.org/wiki/Adjugate_matrix))
-- solution d'un problème de type $`A \cdot \vec{x} + \vec{b} = \vec{0}`$
+- méthode `adjugate`: solution donnée (mais vous pouvez vous référer à [wiki](https://en.wikipedia.org/wiki/Adjugate_matrix))
+- méthode `inv`: inverse d'une matrice : $`A^{-1} = \frac{adjugate(A)}{|A|}`$ où $`|A|`$ est le déterminant d'une matrice
+- méthode `solve`: solution d'un problème de type $`A \cdot \vec{x} + \vec{b} = \vec{0}`$
   - $`\vec{x} = A^{-1} \cdot \vec{b}`$
+- méthode `det`: partiellement écrite. Référez-vous à votre cours de math.
 
 
 ## Fonctionnalités à réaliser sur le pendu
diff --git a/src/main/java/ch/hepia/numeric/Matrix.java b/src/main/java/ch/hepia/numeric/Matrix.java
index 362242d565d11856a6d8690c84b78a895ac95b98..f39f78b8dd8e801cb694d8035f4f5c59f708a333 100644
--- a/src/main/java/ch/hepia/numeric/Matrix.java
+++ b/src/main/java/ch/hepia/numeric/Matrix.java
@@ -59,15 +59,38 @@ public class Matrix {
     public Matrix removed(int i, int j) {
         throw new UnsupportedOperationException("This feature isn't implemented yet");
     }
+
     public Matrix adjugate() {
-        throw new UnsupportedOperationException("This feature isn't implemented yet");
+        Matrix res = Matrix.tabulate(nbRows(), nbCols(), (i, j) -> {
+            if ((i + j) % 2 == 0) {
+                return removed(i, j).det();
+            } else {
+                return -removed(i, j).det();
+            }
+        });
+        return res;
     }
+
     public Matrix inv() {
         throw new UnsupportedOperationException("This feature isn't implemented yet");
     }
 
     public double det() {
-        throw new UnsupportedOperationException("This feature isn't implemented yet");
+        if (!isSquare()) {
+            /* do something smart */
+        }
+
+        if( nbCols() == 1) {
+            return get(0,0);
+        } else if( nbCols() == 2 ){
+            return get(0,0)*get(1,1) - get(1,0)*get(0,1);
+        } else {
+            /* A vous de jouer */
+
+
+
+            throw new UnsupportedOperationException("This feature isn't implemented yet");
+        }
     }
 
     public Matrix copy() {