Masse, John, Masse, Clara, Ollivier, François, Ollivier, François, Appedge, Ecole Supérieure d'Ingénieurs Léonard de Vinci (ESILV), Laboratoire d'informatique de l'École polytechnique [Palaiseau] (LIX), Centre National de la Recherche Scientifique (CNRS)-École polytechnique (X), and École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS)
We investigate the automatic differentiation of hybrid models, viz. models that may contain delays, logical tests and discontinuities or loops. We consider differentiation with respect to parameters, initial conditions or the time. We emphasize the case of a small number of derivations and iterated differentiations are mostly treated with a foccus on high order iterations of the same derivation. The models we consider may involve arithmetic operations, elementary functions, logical tests but also more elaborate components such as delays, integrators, equations and differential equations solvers. This survey has no pretention to exhaustivity but tries to fil a gap in the litterature where each kind of of component may be documented, but seldom their common use. The general approach is illustrated by computer algebra experiments, stressing the interest of performing differentiation, whenever possible, on high level objects, before any translation in Fortran or C code. We include ordinary differential systems with discontinuity, with a special interest for those comming from discontinuous Lagrangians. We conclude with an overview of the graphic methodology developped in the Diffedge software for Simulink hybrid models. Not all possibilities are covered, but the methodology can be adapted. The result of automatic differentiation is a new block diagram and so it can be easily translated to produce real time embedded programs. We welcome any comments or suggestions of references that we may have missed., Nous envisageons la différenciation automatique de modèles hybrides, c'est-à-dire de modèles qui peuvent contenir des retards, des tests logiques, des discontinuités et des boucles. Nous considérons la dérivation par rapport aux paramètres, au conditions initiales ou au temps. Nous nous concentrons sur le cas d'un faible nombre de dérivations et le cas de dérivées itérées est principalement traité dans la cas de dérivées itérées d'ordre élevée d'une unique dérivation. Les modèles que nous considérons peuvent contenir des opérations arithmétiques, des fonctions élémentaires, des tests logiques mais aussi des composantes élaborées telles que des retards, des intégrateurs, des solveurs d'équations différentielles. Ce survey n'a pas la prétention d'être exhaustif mais tente de combler un manque dans la littérature qui documente chaque cas de manière séparée mais rarement leur usage commun. L'approche générale est illustrée par des expériences en Maple, soulignant l'importance d'effectuer dans la mesure du possible la différenciation dans un environnement de haut niveau, plutôt que sur une traduction en Fortran ou en C. Nous incluons des systèmes d'EDO avec des discontinuités, avec une insistance particulière pour les lagrangiens discontinus. Nous concluons avec un panorama de la méthodologie graphique graphique développée par le logiciel Diffedge pour la différenciation de modèles hybrides en Matlab Simulink. Toutes les possibilités ne sont pas traitées, mais la méthode est adaptable. Le résultat de la différenciation automatique est un nouveau schéma block qui peut être aisément traduit pour produire du code embarqué fonctionnant en temps réel. Nous sommes ouvert à tout commentaire ou suggestion de nouvelles références.