Gains :
- Capacité à s'appuyer sur des résultats déterministes, et non sur des conjectures verbales, en demandant à l'IA de traduire un calcul physique en code NumPy/SciPy et d'exécuter le code lui-même
- Capacité à vérifier la fiabilité d'un code numérique en le testant avec une situation simple dont la réponse est connue et en vérifiant sa convergence.
- Capacité à fournir physiquement l'unité et le niveau du résultat en reflétant les unités variables dans le code
De nombreux problèmes de physique ne peuvent être résolus manuellement : une intégrale n’a pas de solution analytique, la racine d’un système d’équations ne peut pas être trouvée sous forme fermée ou un calcul doit être répété des milliers de fois. C’est là qu’interviennent les méthodes numériques : au lieu d’une formule exacte, l’ordinateur calcule étape par étape avec une précision approximative mais contrôlée. Dans cette unité, vous apprendrez comment utiliser l'intelligence artificielle (IA) comme partenaire de code pour les calculs de physique computationnelle, comment vérifier le code qu'elle produit et dans quels pièges vous devez éviter de tomber. Les outils standard du physicien seront ici le langage Python et NumPy (bibliothèque pour les tableaux numériques et les mathématiques rapides) ainsi que SciPy (bibliothèque pour le calcul scientifique ; comprend l'intégration, la recherche radicale et l'optimisation).
Pourquoi AI + Python, pourquoi pas à la main ?
Effectuer des calculs numériques à la main est à la fois lent et sujet aux erreurs. L'IA peut traduire votre construction physique en un code Python en cours d'exécution en quelques secondes. Mais la règle d’or ici est la suivante : l’IA écrit le code, vous exécutez le code et vérifiez le résultat avec la physique. L'IA disant « ce code donne cela » est une prédiction ; En fait, exécuter le code et voir le résultat est un fait déterministe. Un LLM peut « calculer » le résultat du code qu'il a écrit dans sa tête et prononcer un mauvais nombre ; alors que lorsque le même code est exécuté, il donne le résultat correct. Ne vous fiez donc jamais au résultat numérique donné verbalement par l’IA : exécutez le code.
Tâches informatiques de base et rôle de l'IA
Quête
Méthode/outil
vérification physique
intégrale définie
scipy.integrate.quad
Etats limites, analyse dimensionnelle
racine de l'équation
scipy.optimize.brentq
Mettez la racine en place et vérifiez si elle est nulle.
Système d'équations linéaires
numpy.linalg.solve
Remettre la solution dans le système
Dérivée (numérique)
Différence centrale ou numpy.gradient
Comparaison avec la dérivation analytique
Calcul vectoriel en masse
Tableaux NumPy
Contrôle des unités et des rangs
L'IA est très douée pour suggérer lequel de ces outils est approprié et pour obtenir la syntaxe (règles d'écriture de code) correcte. Mais c’est vous qui décidez quelle méthode est physiquement logique et quelle est la précision du résultat.
Pas à pas : un calcul numérique vérifiable
1. Clarifiez le problème et les unités. Par exemple : « Calculez l'intégrale e^(−x²) de 0 à l'infini ; le résultat devrait être √π/2 ≈ 0,8862. » La réécriture du résultat attendu (le cas échéant) facilite la vérification.
2. Demandez le code à l'IA, mais vous exécutez la sortie. Copiez le bloc de code et exécutez-le dans votre propre environnement (Jupyter, Colab, Python natif).
3. Testez avec une situation connue. Essayez le code avec une situation simple dont vous connaissez déjà la réponse. Par exemple, testez un code intégral avec un exemple que vous connaissez à la main, tel que ∫₀¹ x dx = 0,5. Si le code le donne correctement, votre confiance augmente.
4. Vérifiez la convergence. Dans les méthodes numériques, lorsque vous augmentez le nombre d'étapes, le résultat doit se rapprocher d'une valeur constante. S'il ne s'approche pas, la méthode n'est pas adaptée.
5. Vérifiez l'unité et le rang. Fournissez toujours le résultat numérique avec l’unité physique et l’ordre.
Astuce : lorsque vous demandez du code à l'IA, dites « incluez également une ligne de test qui compare le résultat à une valeur analytique connue ». Ainsi, le code effectue à la fois le calcul et se teste dans une situation connue. Cela rend les erreurs immédiatement visibles.
trois mini-cases
Cas 1 — Conclusion orale incorrecte. Un étudiant a demandé à AI d'écrire un code intégral et AI a dit "ce code donne environ 1,77". L'étudiant a exécuté le code : le résultat réel était de 0,886. L'IA avait commis une erreur en prédisant la sortie du code ; Le code était correct. Leçon : faites confiance au code, ne faites pas confiance aux suppositions verbales.
Cas 2 — Instabilité numérique. Un chercheur a recherché la racine d’une équation avec un code de recherche de racine écrit par l’IA. Le code renvoyait une racine, mais lorsque le chercheur remit la racine dans l’équation, le résultat n’était pas zéro mais un très grand nombre. Le problème était que la plage de départ ne contenait pas la racine ; L'IA a supposé la plage appropriée. Le chercheur a corrigé l’intervalle avec des informations physiques et a trouvé la bonne racine.
Cas 3 — Confirmation obtenue. Un ingénieur souhaitait un code permettant de calculer numériquement la déflexion d'une poutre sous charge. Le code a fonctionné, mais le résultat a montré des mètres de déflexion, impossible pour une poutre en acier. L'ingénieur a examiné les unités : l'IA avait fait semblant d'avoir le module élastique en Pa au lieu de GPa, manquant un facteur de 10⁹. Avec la correction de l'unité, le résultat a diminué en millimètres et était raisonnable.
Quatre modèles copiables
1) Calcul numérique avec ligne de validation :
Écrivez du code Python (NumPy/SciPy) qui effectue le calcul physique suivant : [problème]. Déclarez toutes les variables en unités SI et en spécifiant l'unité avec une ligne de commentaire. Ajoutez une ligne de contrôle (affirmation ou impression) à la fin du code qui compare le résultat à une valeur analytique/simple connue. Je vais exécuter le code ; vous ne devinez pas le résultat, écrivez simplement le code et le rang attendu.
2) Consultation sur le choix de la méthode :
Je souhaite résoudre numériquement le problème suivant : [problème]. Quelle fonction SciPy/NumPy est appropriée et POURQUOI ? Suggérez 2 méthodes alternatives, notez les avantages/inconvénients de chacune en termes de précision et de stabilité. Indiquez lequel doit être préféré dans quelle situation physique.
3) Contrôle de convergence :
Écrivez du code Python qui montre comment le résultat converge en augmentant le nombre d'étapes du calcul numérique suivant (par exemple N = 10, 100, 1000). Imprimez les résultats dans un tableau. S’il n’y a pas de convergence, expliquez la raison physique/numérique en une phrase. Code : [ici]
4) Contrôle de l'unité :
Dans le code ci-dessous, commentez l'unité SI de chaque variable et vérifiez si l'unité du résultat final est cohérente avec l'unité attendue (par exemple mètre, joule). S'il y a une incohérence, indiquez dans quelle ligne elle se trouve. Code : [ici]
Invite faible/Invite forte
Faible : "Dites le résultat de cette intégrale : ∫₀^∞ x²·e^(−x) dx"
Résultat : l’IA crache un nombre dans sa tête (peut-être vrai, peut-être faux) ; rien d'exécutable, rien de vérifiable.
Strong : "Écrivez du code Python qui calcule l'intégrale ∫₀^∞ x²·e^(−x) dx avec scipy.integrate.quad. Ajoutez une ligne d'assertion qui compare le résultat à la valeur analytique de cette intégrale, 2 ! = 2. Je vais exécuter le code."
Résultat : Code exécutable, validation intégrée (comparaison avec la valeur analytique) et résultat fiable.
Erreurs courantes
- S'appuyer sur le résultat numérique verbal de l'IA. LLM peut prédire de manière incorrecte la sortie du code dans la tête. Exécutez toujours le code.
- Pas de test avec une situation connue. Un code qui ne teste pas avec un exemple simple dont vous connaissez la réponse peut contenir des erreurs cachées.
- Ne pas vérifier la convergence. S'en tenir à un seul nombre de pas ne permet pas de savoir si le résultat est numériquement fiable.
- Ne reflète pas les unités dans le code. Ne pas commenter l'unité de variables invite à des erreurs silencieuses de 10ⁿ.
- Ignorer la version/hypothèses de la bibliothèque. Parfois, l’IA peut produire un nom de fonction inexistant ou une syntaxe obsolète ; Cela se remarque lorsque vous l'exécutez.
Attention : avant de mettre un résultat numérique dans une publication, une mission ou une conception, testez le code avec un cas connu indépendant et fournissez le résultat en unités/ordres. Même un code fonctionnel peut calculer une mauvaise physique ; Ce n'est pas parce que le code fonctionne que la physique est correcte.
En résumé
L'IA est un partenaire puissant pour traduire les calculs physiques en code Python ; Mais les chiffres qu’il donne verbalement sont des estimations et non des faits. Le flux de travail sécurisé est clair : définissez le problème avec ses unités, demandez à l'IA d'écrire le code mais vous exécutez la sortie, testez le code avec une situation connue, vérifiez la convergence et l'unité. Ce qui est déterministe, c'est le code qui est exécuté ; Ce n'est pas un LLM. Dans la prochaine unité, nous déplacerons ces fondements numériques vers la simulation de systèmes physiques variant dans le temps.
Tâche de candidature
Choisissez un calcul physique dont vous connaissez la solution analytique (par exemple, la vitesse d'un objet en chute libre sur une période de temps ou une simple intégrale définie). Demandez à l'IA d'écrire un code Python avec le modèle 1 ; exécutez le code vous-même. Comparez le résultat avec la valeur analytique que vous connaissez. Observez ensuite le comportement du résultat en modifiant le nombre d'étapes ou un paramètre. Notez en 5 à 6 phrases : la sortie du code correspond-elle à la prédiction verbale, y a-t-il eu un problème d'unité/d'ordre ?
liste de contrôle
- [ ] J'ai clarifié le problème et l'unité de toutes les variables.
- [ ] J'ai moi-même exécuté le code écrit par l'IA, je ne faisais pas confiance au résultat verbal.
- [ ] J'ai testé le code avec une situation simple pour laquelle je connaissais la réponse.
- [ ] J'ai vérifié la convergence ou la sensibilité des paramètres.
- [ ] J'ai fourni physiquement l'unité et l'ordre du résultat.
- [ ] J'ai vérifié que les fonctions de la bibliothèque que j'utilise sont réelles et à jour.