Eining 2 / 11

Útreikningur og tölulegar aðferðir með Python

Hagnaður:

  • Hæfni til að treysta á ákveðinn framleiðsla, ekki munnlegar getgátur, með því að láta gervigreindina þýða líkamlegan útreikning yfir í NumPy/SciPy kóða og keyra kóðann sjálfan
  • Geta til að sannreyna áreiðanleika tölukóða með því að prófa hann með einföldum aðstæðum þar sem svarið er þekkt og athuga samleitni hans.
  • Hæfni til að veita líkamlega einingu og stig niðurstöðunnar með því að endurspegla breytilegar einingar í kóðann

Mörg vandamál í eðlisfræði er ekki hægt að leysa með höndunum: heild hefur enga greiningarlausn, rót jöfnukerfis er ekki hægt að finna í lokuðu formi, eða útreikning þarf að endurtaka þúsundir sinnum. Þetta er þar sem tölulegar aðferðir koma við sögu: í stað nákvæmrar formúlu reiknar tölvan skref fyrir skref með áætluðum en stýrðri nákvæmni. Í þessari einingu muntu læra hvernig á að nota gervigreind (AI) sem kóðafélaga fyrir útreikninga í eðlisfræði, hvernig á að sannreyna kóðann sem hann framleiðir og hvaða gildrur þú ættir að forðast að falla í. Staðlað verkfæri eðlisfræðingsins hér verða Python tungumálið og NumPy (safn fyrir talnafylki og hraðvirka stærðfræði) auk SciPy (safn fyrir vísindalega tölvuvinnslu; felur í sér samþættingu, róttæka uppgötvun, hagræðingu).

Af hverju AI + Python, af hverju ekki með höndunum?

Að framkvæma tölulega útreikninga í höndunum er bæði hægt og villuhættulegt. AI getur þýtt líkamlega byggingu þína í keyrandi Python kóða á nokkrum sekúndum. En gullna reglan hér er: AI skrifar kóðann, þú keyrir kóðann og staðfestir niðurstöðuna með eðlisfræði. AI sem segir „þessi kóði gefur það“ er spá; Að keyra kóðann og sjá úttakið er ákveðin staðreynd. LLM gæti "reiknað" úttak kóðans sem hann skrifaði í hausinn á sér og sagt ranga tölu; en þegar sami kóðinn er keyrður gefur hann rétta niðurstöðu. Svo aldrei treystu tölulegu niðurstöðunni sem gervigreindin gefur munnlega - keyrðu kóðann.

Grunn reikniverkefni og hlutverk gervigreindar

Leit

Aðferð/tól

líkamlega sannprófun

ákveðinn heild

scipy.integrate.quad

Takmarkaástand, víddargreining

rót jöfnu

scipy.optimize.brentq

Settu rótina á sinn stað og athugaðu hvort hún sé núll.

Kerfi línulegra jöfnu

numpy.linalg.solve

Að setja lausnina aftur inn í kerfið

Afleiða (tala)

Miðlægur munur eða numpy.gradient

Samanburður við greinandi afleiðslu

Magn vektor útreikningur

NumPy fylki

Eininga- og röðunarstýring

Gervigreind er mjög góð í að stinga upp á hvaða af þessum tækjum er viðeigandi og fá setningafræði (kóðaritunarreglur) rétta. En þú ákveður hvaða aðferð er líkamlega skynsamleg og nákvæmni niðurstöðunnar.

Skref fyrir skref: sannanlegan tölulegan útreikning

1. Skýrðu vandamálið og einingarnar. Til dæmis: "Reiknaðu heildina e^(−x²) frá 0 til óendanlegs; niðurstaðan ætti að vera √π/2 ≈ 0,8862." Endurskrifa væntanlega niðurstöðu (ef einhver er) auðveldar sannprófunina.

2. Biddu gervigreindina um kóðann, en þú keyrir úttakið. Afritaðu kóðablokkina og keyrðu hann í þínu eigin umhverfi (Jupyter, Colab, innfæddur Python).

3. Prófaðu með þekktum aðstæðum. Prófaðu kóðann með einföldum aðstæðum sem þú veist nú þegar svarið við. Prófaðu til dæmis heildrænan kóða með dæmi sem þú þekkir í höndunum, eins og ∫₀¹ x dx = 0,5. Ef kóðinn gefur þetta rétt eykst sjálfstraust þitt.

4. Athugaðu hvort samleitni sé. Í tölulegum aðferðum, þegar þú fjölgar þrepum, ætti niðurstaðan að nálgast stöðugt gildi. Ef það nálgast ekki hentar aðferðin ekki.

5. Athugaðu einingu og stöðu. Gefðu alltaf tölulegu niðurstöðuna með líkamlegri einingu og röð.

Ábending: Þegar þú biður um kóða frá gervigreindinni skaltu segja "einnig hafa prófunarlínu sem ber niðurstöðuna saman við þekkt greiningargildi." Þannig framkvæmir kóðinn bæði útreikninginn og prófar sjálfan sig við þekktar aðstæður. Þetta gerir villur sýnilegar strax.

þrjú smámál

Mál 1 — Röng munnleg niðurstaða. Nemandi lét AI skrifa óaðskiljanlegan kóða og AI sagði „þessi kóði gefur um 1,77“. Nemandinn keyrði kóðann: raunveruleg framleiðsla var 0,886. Gervigreindin hafði gert mistök við að spá fyrir um úttak kóðans; Kóðinn var réttur. Lexía: Treystu kóðanum, ekki treystu munnlegu getgátunni.

Tilfelli 2 - Tölulegur óstöðugleiki. Rannsakandi leitaði að rót jöfnu með rótarleitarkóða sem gervigreind skrifaði. Kóðinn skilaði rót, en þegar rannsakandi setti rótina aftur inn í jöfnuna var niðurstaðan ekki núll heldur mjög stór tala. Vandamálið var að upphafssviðið innihélt ekki rótina; AI gerði ráð fyrir viðeigandi svið. Rannsakandi leiðrétti bilið með líkamlegum upplýsingum og fann réttu rótina.

Mál 3 - Staðfesting fengin. Verkfræðingur vildi fá kóða sem reiknaði tölulega út sveigju geisla undir álagi. Kóðinn virkaði, en niðurstaðan sýndi metra af sveigju - ómögulegt fyrir stálbjálka. Verkfræðingurinn skoðaði einingarnar: gervigreindin hafði þóst vera með teygjustuðulinn í Pa í stað GPa og vantaði stuðulinn 10⁹. Með einingaleiðréttingunni minnkaði útkoman í millimetra og var þokkaleg.

Fjögur afritanleg sniðmát

1) Tölulegur útreikningur með staðfestingarlínu:

Skrifaðu Python (NumPy/SciPy) kóða sem framkvæmir eftirfarandi líkamlega útreikning: [vandamál]. Tilgreindu allar breytur í SI-einingum og tilgreindu eininguna með athugasemdarlínu. Bættu við ávísunarlínu (staðfesta eða prenta) í lok kóðans sem ber niðurstöðuna saman við þekkt greiningar-/einfalt gildi. Ég mun keyra kóðann; þú giskar ekki á úttakið, skrifaðu bara kóðann og væntanlega röð.

2) Ráðgjöf um val á aðferð:

Ég vil leysa eftirfarandi vandamál með tölulegum hætti: [vandamál]. Hvaða SciPy/NumPy aðgerð er viðeigandi og AFHVERJU? Stingdu upp á 2 öðrum aðferðum, skrifaðu niður kosti/galla hverrar fyrir sig hvað varðar nákvæmni og stöðugleika. Tilgreindu hver ætti að vera valinn í hvaða líkamlegu aðstæðum.

3) Samleitniathugun:

Skrifaðu Python kóða sem sýnir hvernig niðurstaðan rennur saman með því að fjölga skrefum í eftirfarandi tölulega útreikningi (t.d. N=10, 100, 1000). Prentaðu niðurstöðurnar í töflu. Ef það er engin samleitni, útskýrðu líkamlega/tölulega ástæðuna fyrir þessu í einni setningu. Kóði: [hér]

4) Einingastjórnun:

Í kóðanum hér að neðan, skrifaðu athugasemdir við SI-einingu hverrar breytu og athugaðu hvort eining lokaniðurstöðunnar sé í samræmi við væntanlegri einingu (t.d. metri, joule). Ef það er ósamræmi skaltu sýna í hvaða línu það er. Kóði: [hér]

Veik kvaðning / Sterk kvaðning

Veik: "Segðu niðurstöðu þessa heild: ∫₀^∞ x²·e^(−x) dx"
Niðurstaða: gervigreindin spýtir út tölu í hausinn á sér (kannski rétt, kannski rangt); ekkert keyranlegt, ekkert sannreynanlegt.
Strong: "Skrifaðu Python kóða sem reiknar út heildina ∫₀^∞ x²·e^(−x) dx með scipy.integrate.quad. Bættu við fullyrðingarlínu sem ber niðurstöðuna saman við greiningargildi þessa heila, 2! = 2. Ég mun keyra kóðann."
Niðurstaða: Kóði sem hægt er að keyra, innbyggð löggilding (samanburður við greiningargildi) og áreiðanleg niðurstaða.

Algeng mistök

  • Að treysta á munnlega tölulegar niðurstöður gervigreindar. LLM gæti spáð rangt fyrir um úttak kóðans í hausnum. Keyra alltaf kóðann.
  • Ekki prófa með þekktum aðstæðum. Kóði sem prófar ekki með einföldu dæmi sem þú veist svarið við getur innihaldið faldar villur.
  • Er ekki að athuga með samleitni. Að halda sig við eina skrefatölu dyljar hvort niðurstaðan sé tölulega áreiðanleg.
  • Endurspeglar ekki einingarnar í kóðanum. Að gera ekki athugasemdir við einingu breytanna býður upp á þöglar 10ⁿ villur.
  • Hunsa útgáfu/forsendur bókasafns. Stundum getur gervigreind framleitt aðgerðaheiti sem ekki er til eða úrelt setningafræði; Það er áberandi þegar þú keyrir það.
Varúð: Áður en töluleg niðurstaða er sett inn í útgáfu, verkefni eða hönnun skaltu prófa kóðann með óháðu þekktu tilviki og gefa niðurstöðuna upp í einingum/pöntunum. Jafnvel vinnukóði gæti verið að reikna ranga eðlisfræði; Þó að kóðinn virki þýðir það ekki að eðlisfræðin sé rétt.

Í stuttu máli

AI er öflugur samstarfsaðili við að þýða eðlisfræðilega útreikninga yfir í Python kóða; En tölurnar sem hann gefur munnlega eru áætlanir, ekki staðreyndir. Öruggt vinnuflæði er skýrt: skilgreindu vandamálið með einingum þess, láttu gervigreindina skrifa kóðann en þú keyrir úttakið, prófar kóðann með þekktum aðstæðum, athugaðu samleitni og einingu. Það sem er deterministic er kóðinn sem er keyrður; Það er ekki LLM. Í næstu einingu munum við færa þennan tölulega grunn yfir í eftirlíkingu á tímabreytilegum eðliskerfum.

Umsóknarverkefni

Veldu eðlisfræðireikning sem þú þekkir greiningarlausnina fyrir (til dæmis hraða frjálst fallandi hlutar yfir ákveðinn tíma eða einfaldan ákveðinn heild). Láttu gervigreindina skrifa Python kóða með sniðmáti 1; keyrðu kóðann sjálfur. Berðu niðurstöðuna saman við greiningargildið sem þú þekkir. Athugaðu síðan hvernig niðurstaðan hegðar sér með því að breyta fjölda skrefa eða færibreytu. Athugaðu í 5-6 setningum: passaði framleiðsla kóðans við munnlega spá, var eining/pöntun vandamál?

gátlisti

  • [ ] Ég skýrði vandamálið og einingu allra breyta.
  • [ ] Ég keyrði kóðann sem gervigreindin skrifaði sjálfur, ég treysti ekki munnlegu niðurstöðunni.
  • [ ] Ég prófaði kóðann með einföldum aðstæðum sem ég vissi svarið við.
  • [ ] Ég athugaði samleitni eða breytunæmi.
  • [ ] Ég gaf líkamlega upp einingu og röð niðurstöðunnar.
  • [ ] Ég hef staðfest að bókasafnsaðgerðirnar sem ég nota séu raunverulegar og uppfærðar.