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

Give some impl.

parent d309a97d
No related branches found
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)`.
## 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
......
......@@ -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() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment