Mentions légales du service

Skip to content

Feature/derivative pars

Olivier Cots requested to merge feature/derivative_pars into develop
  • j'ai ajouté pars à exp, dexp, expd et dexpd
  • j'ai ajouté parsd à dexp et dexpd
  • j'ai mis à jour la doc des 4 fonctions avec format sphinx
  • j'ai ajouté + restructuré les tests unitaires pour le module ivp
  • les variables pars et parsd sont optionnelles et positionnelles. Si (pars, parsd) n'est pas présent dans l'appel de la fonction on veut la solution d'une équation de la forme
\dot{x} = f(t, x)

sinon

\dot{x} = f(t, x, pars).
  • je fais bien la distinction entre variables optionnelles args, kwargs qui peuvent être de type quelconque et pars qui est un ndarray. Il est clair que dans exp et dans expd, utiliser pars ou args est équivalent mais l'idée derrière n'est pas la même car dexp et dexpd sont les dérivées et dans ce cas, on dérive bien par rapport à pars mais pas à args.

Remarque : je transmets pars et parsd au code fortran ce qui n'est pas nécessaire en soi car on aurait pu comme avec args et kwargs créer une fonction anonyme adéquate.

Remarques :

  • en fortran, je n'ai que 2 solveurs : mod_exp et mod_dexp. Le solveur mod_exp permet de résoudre
\dot{x} = f(t, x, pars).

tandis que mod_dexp permet de calculer les équations variationnelles, en calculant à la fois x et \delta x.

  • en python, dans expd, on peut intégrer plusieurs champs de Jacobi. Du coup, pour la dérivée c'est pareil et dans dexpd je dois faire une manip un peu spéciale (sur l'ordre des variables d'intégration) pour pouvoir appeler mod_dexp. Je n'ai pas fait de mod_d2exp. A voir si un jour il faudra coder un mod_d2exp.
  • de même il n'y a pas de d2exp en python. La fonction dexpd n'est pas d2exp, ainsi les fonctions à fournir phi, dphi et d2phi sont spécifiques à ce qu'on veut faire. La fonction phi codant le second membre f 😄

Merge request reports