La solution à un problème de mathématique s'obtient par deux types de méthodes.
Elle consiste à rechercher la formule donnant la solution exacte. Elle engendre les programmes les plus rapides.
Elle consiste, à l'aide de structures répétitives, à tester de nombreuses valeurs jusqu'à aboutir à un résultat satisfaisant, bien qu'approximatif. Elle peut s'optimiser pour converger plus rapidement vers la solution recherchée. L'augmentation du nombre de tests améliore la précision dans les résultats, au détriment du temps de calcul.
Les études d'ingénierie conduisent communément à des problèmes de mathématique, généralement des systèmes d'équations linéaires, polynomiales, différentielles ou autres, à résoudre. Deux cas peuvent se présenter :
En général, le flux de données à traiter reste faible. Le choix de la méthode de résolution, analytique ou numérique, importe peu. Sinon, pour un volume de données à traiter important :
Dans le cas d'un faible flux de données, le Python convient parfaitement, comme tout autre langage.
Sinon... le Python est un langage interprété, avec comme faiblesse la lenteur dans l'exécution des structures répétitives. Toutefois, ces lenteurs peuvent souvent s'éviter à l'aide de bibliothèques, telles que Numpy par exemple.
Si le temps d'execution du programme reste malgré tout trop important, il faut se tourner vers un langage compilé, éventuellemnt de bas niveau.