Le langage de programmation Julia s’attaque aux défis des équations différentielles

Le langage de programmation Julia s'attaque aux défis des équations différentielles

Vue schématique de la structure de DynamicNetworks.jl. Crédit : Michael Lindner, Lucas Lincoln, Fenja Drauschke, Julia M. Koulen, Hans Würfel, Anton Plietzsch et Frank Hellmann

Le langage de programmation open source émergent Julia est conçu pour être rapide et facile à utiliser.

Comme il est particulièrement adapté aux applications numériques, telles que les équations différentielles, des scientifiques allemands l’utilisent pour explorer les défis liés à la transition vers une production d’électricité entièrement renouvelable.

La décarbonation implique une restructuration radicale des réseaux électriques, qui sont d’énormes systèmes complexes avec une grande variété de contraintes, d’incertitudes et d’hétérogénéités. Les réseaux électriques deviendront encore plus complexes à l’avenir, de nouveaux outils de calcul sont donc nécessaires.

Dans le chaos, les scientifiques du Potsdam Institute for Climate Impact Research (PIK) décrivent un progiciel qu’ils ont conçu pour permettre la simulation de systèmes dynamiques généraux sur des réseaux complexes.

Ils voulaient créer un outil open source, afin que tout le monde puisse vérifier sa structure logicielle et ses algorithmes, afin de rendre tous les algorithmes de pointe au sein de l’écosystème de Julia facilement accessibles aux ingénieurs et aux physiciens. Leur package, appelé NetworkDynamics.jl, a commencé comme le backend de calcul d’un autre, PowerDynamics.jl.

“Nous avons réalisé que notre backend informatique serait également utile à d’autres chercheurs au sein de la communauté des systèmes dynamiques”, a déclaré Michael Lindner, chercheur postdoctoral au PIK.

Les deux piliers théoriques de leurs travaux sont les équations différentielles et les réseaux complexes.

“En projetant des modèles de réseaux électriques ou de cerveaux, par exemple, en termes d’équations différentielles sur les réseaux, nous leur donnons une structure sous-jacente claire”, a-t-il déclaré. “Le réseau code la localité, ce qui interagit avec quoi, et les équations différentielles codent la dynamique, comment les choses changent avec le temps.”

Cela permet aux chercheurs d’obtenir des vitesses de simulation de pointe.

“Nous calculons d’abord toutes les interactions entre les composants du réseau, puis les réactions inverses des composants individuels à cette interaction. Cela nous permet de calculer l’évolution complète du système dans deux boucles facilement parallélisables”, a déclaré Lindner.

Étant donné que Julia est rapide et facile à écrire et dispose d’une bibliothèque pour résoudre les équations différentielles (DifferentialEquations.jl), les chercheurs peuvent implémenter et simuler des modèles complexes en une journée, au lieu du mois qu’il fallait auparavant avec d’autres langages.

“Cela supprime certains des obstacles limitant la créativité scientifique”, a déclaré Lindner. “Je n’avais même pas pensé à certains modèles et questions importantes auparavant, simplement parce qu’ils semblaient complètement hors de portée avec mes contraintes de temps et mes compétences en programmation.”

Une bonne interface intuitive avec des algorithmes hautes performances est “importante pour la science aujourd’hui”, a-t-il déclaré, “car elle permet aux scientifiques de se concentrer sur leurs questions et modèles de recherche plutôt que sur le code et les détails de mise en œuvre”.


Un mathématicien découvre les conditions de stabilisation des inégalités différentielles d’ordre supérieur


Plus d’information:
“NetworkDynamics.jl – Composer et simuler des réseaux complexes dans Julia,” le chaos, aip.scitation.org/doi/10.1063/5.0051387

Informations sur la revue :
le chaos

Fourni par l’Institut américain de physique

Citation: Le langage de programmation Julia s’attaque aux défis des équations différentielles (2021, 22 juin) récupéré le 22 juin 2021 à partir de https://techxplore.com/news/2021-06-julia-language-tackles-differential-equation.html

Ce document est soumis au droit d’auteur. En dehors de toute utilisation équitable à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans l’autorisation écrite. Le contenu est fourni seulement pour information.