Skip to content
Snippets Groups Projects
Commit 8a66e2c9 authored by Joel Cavat's avatar Joel Cavat
Browse files

Give some impl.

parent d309a97d
Branches
No related tags found
No related merge requests found
...@@ -272,10 +272,11 @@ qui sera une alternative de `Vector.linespace(0.0, 5.0, 20)`. ...@@ -272,10 +272,11 @@ qui sera une alternative de `Vector.linespace(0.0, 5.0, 20)`.
## Fonctionnalités à réaliser sur les matrices ## 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 - méthode `adjugate`: solution donnée (mais vous pouvez vous référer à [wiki](https://en.wikipedia.org/wiki/Adjugate_matrix))
- `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
- solution d'un problème de type $`A \cdot \vec{x} + \vec{b} = \vec{0}`$ - 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}`$ - $`\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 ## Fonctionnalités à réaliser sur le pendu
......
...@@ -59,15 +59,38 @@ public class Matrix { ...@@ -59,15 +59,38 @@ public class Matrix {
public Matrix removed(int i, int j) { public Matrix removed(int i, int j) {
throw new UnsupportedOperationException("This feature isn't implemented yet"); throw new UnsupportedOperationException("This feature isn't implemented yet");
} }
public Matrix adjugate() { 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() { public Matrix inv() {
throw new UnsupportedOperationException("This feature isn't implemented yet"); throw new UnsupportedOperationException("This feature isn't implemented yet");
} }
public double det() { 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() { public Matrix copy() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment