/** Interface représentant un système intégrable simple. On suppose
 * que le système est caractérisé par tableau de variables d'état
 * (appelons le etat) et une équation du mouvement d(etat)/dt =
 * f(etat). Le système implémente l'interface Integrable en créant
 * deux méthodes: getState() doit renvoyer le tableau etat[], et
 * calcDeriv(y,yp) doit calculer yp=f(y).
*/
public interface Integrable {
    /** Fournit le tableau décrivant l'état du système. Le tableau
     * n'est pas une copie, il reflète donc par la suite toujours
     * l'état actuel du système. */
    public double[] getState();

    /** Calcule la dérivée yp pour l'état y. */
    public void calcDeriv(double[] y, double[] yp);
}