Satuan 2 / 11

Perhitungan dan Metode Numerik dengan Python

Keuntungan:

  • Kemampuan untuk mengandalkan keluaran deterministik, bukan tebakan verbal, dengan meminta AI menerjemahkan penghitungan fisik ke dalam kode NumPy/SciPy dan menjalankan kode itu sendiri
  • Kemampuan untuk memverifikasi keandalan kode numerik dengan mengujinya dengan situasi sederhana yang jawabannya diketahui dan memeriksa konvergensinya.
  • Kemampuan untuk secara fisik menyediakan unit dan tingkat hasil dengan merefleksikan unit variabel ke dalam kode

Banyak permasalahan dalam fisika yang tidak dapat diselesaikan dengan tangan: integral tidak memiliki solusi analitis, akar sistem persamaan tidak dapat ditemukan dalam bentuk tertutup, atau perhitungan harus diulang ribuan kali. Di sinilah metode numerik berperan: alih-alih menggunakan rumus pasti, komputer menghitung langkah demi langkah dengan perkiraan namun akurasi yang terkendali. Dalam unit ini, Anda akan mempelajari cara menggunakan kecerdasan buatan (AI) sebagai mitra kode untuk penghitungan fisika komputasi, cara memverifikasi kode yang dihasilkannya, dan jebakan apa yang harus Anda hindari. Alat standar fisikawan di sini adalah bahasa Python dan NumPy (perpustakaan untuk array numerik dan matematika cepat) serta SciPy (perpustakaan untuk komputasi ilmiah; mencakup integrasi, penemuan radikal, optimasi).

Kenapa AI + Python, kenapa tidak dengan tangan?

Melakukan penghitungan numerik dengan tangan lambat dan rawan kesalahan. AI dapat menerjemahkan konstruksi fisik Anda menjadi kode Python yang berjalan dalam beberapa detik. Namun aturan emasnya di sini adalah: AI menulis kodenya, Anda menjalankan kodenya dan memverifikasi hasilnya dengan fisika. AI yang mengatakan "kode ini memberikan itu" adalah prediksi; Sebenarnya menjalankan kode dan melihat hasilnya adalah fakta deterministik. Seorang LLM mungkin "menghitung" keluaran kode yang dia tulis di kepalanya dan menyebutkan nomor yang salah; sedangkan ketika kode yang sama dijalankan memberikan hasil yang benar. Jadi jangan pernah mempercayai hasil numerik yang diberikan AI secara lisan — jalankan kodenya.

Tugas komputasi dasar dan peran AI

Pencarian

Metode/alat

verifikasi fisik

integral tertentu

scipy.integrate.quad

Batasi keadaan, analisis dimensi

akar persamaan

scipy.optimize.brentq

Letakkan root pada tempatnya dan periksa apakah hasilnya nol.

Sistem persamaan linear

numpy.linalg.solve

Mengembalikan solusi ke dalam sistem

Turunan (numerik)

Perbedaan sentral atau numpy.gradient

Perbandingan dengan derivasi analitis

Perhitungan vektor massal

array NumPy

Kontrol unit dan peringkat

AI sangat baik dalam menyarankan alat mana yang sesuai dan membuat sintaksis (aturan penulisan kode) benar. Namun Andalah yang memutuskan metode mana yang masuk akal secara fisik dan keakuratan hasilnya.

Langkah demi langkah: perhitungan numerik yang dapat diverifikasi

1. Memperjelas masalah dan unitnya. Misalnya: "Hitung integral e^(−x²) dari 0 hingga tak terhingga; hasilnya seharusnya √π/2 ≈ 0,8862." Menulis ulang hasil yang diharapkan (jika ada) membuat verifikasi lebih mudah.

2. Minta kodenya kepada AI, tetapi Anda menjalankan hasilnya. Salin blok kode dan jalankan di lingkungan Anda sendiri (Jupyter, Colab, Python asli).

3. Uji dengan situasi yang diketahui. Coba kode dengan situasi sederhana yang Anda sudah tahu jawabannya. Misalnya, uji kode integral dengan contoh yang Anda ketahui sendiri, seperti ∫₀¹ x dx = 0,5. Jika kode memberikan ini dengan benar, kepercayaan diri Anda meningkat.

4. Periksa konvergensi. Dalam metode numerik, ketika Anda menambah jumlah langkah, hasilnya harus mendekati nilai konstan. Kalau tidak mendekat berarti metodenya tidak cocok.

5. Periksa unit dan pangkat. Selalu berikan hasil numerik dengan satuan fisik dan urutannya.

Tip: Saat meminta kode dari AI, ucapkan “sertakan juga baris pengujian yang membandingkan hasilnya dengan nilai analitis yang diketahui.” Dengan demikian, kode tersebut melakukan perhitungan dan menguji dirinya sendiri dalam situasi yang diketahui. Hal ini membuat kesalahan segera terlihat.

tiga kasus mini

Kasus 1 — Kesimpulan lisan yang salah. Seorang siswa meminta AI menulis kode integral dan AI berkata "kode ini menghasilkan sekitar 1,77." Siswa menjalankan kode: keluaran sebenarnya adalah 0,886. AI telah membuat kesalahan dalam memprediksi keluaran kode; Kodenya benar. Pelajaran: percayalah pada kodenya, jangan percaya pada tebakan verbal.

Kasus 2 — Ketidakstabilan numerik. Seorang peneliti mencari akar persamaan dengan kode pencarian akar yang ditulis AI. Kode tersebut mengembalikan sebuah akar, tetapi ketika peneliti memasukkan kembali akar tersebut ke dalam persamaan, hasilnya bukan nol melainkan angka yang sangat besar. Masalahnya adalah rentang awal tidak mengandung root; AI mengasumsikan kisaran yang sesuai. Peneliti mengoreksi interval dengan informasi fisik dan menemukan akar yang benar.

Kasus 3 — Konfirmasi diperoleh. Seorang insinyur menginginkan kode yang secara numerik menghitung defleksi balok di bawah beban. Kode tersebut berhasil, tetapi hasilnya menunjukkan defleksi beberapa meter—tidak mungkin dilakukan pada balok baja. Insinyur memeriksa unit-unit tersebut: AI berpura-pura memiliki modulus elastisitas di Pa, bukan GPa, kehilangan faktor 10⁹. Dengan koreksi satuan, hasilnya menurun menjadi milimeter dan masuk akal.

Empat templat yang dapat disalin

1) Perhitungan numerik dengan garis validasi:

Tulis kode Python (NumPy/SciPy) yang melakukan perhitungan fisik berikut: [masalah]. Deklarasikan semua variabel dalam satuan SI dan tentukan satuannya dengan baris komentar. Tambahkan baris centang (tegaskan atau cetak) di akhir kode yang membandingkan hasilnya dengan nilai analitis/sederhana yang diketahui. Saya akan menjalankan kodenya; anda tidak perlu menebak-nebak hasilnya, cukup tulis kode dan peringkat yang diharapkan.

2) Konsultasi pemilihan metode:

Saya ingin menyelesaikan masalah berikut secara numerik: [masalah]. Fungsi SciPy/NumPy mana yang sesuai dan MENGAPA? Sarankan 2 metode alternatif, tuliskan pro/kontra masing-masing metode dalam hal akurasi dan stabilitas. Nyatakan mana yang lebih disukai dalam situasi fisik apa.

3) Pemeriksaan konvergensi:

Tulis kode Python yang menunjukkan bagaimana hasilnya menyatu dengan menambah jumlah langkah perhitungan numerik berikut (misalnya N=10, 100, 1000). Cetak hasilnya dalam tabel. Jika tidak ada konvergensi, jelaskan alasan fisik/numeriknya dalam satu kalimat. Kode: [di sini]

4) Kontrol satuan:

Pada kode di bawah ini, beri komentar pada satuan SI setiap variabel dan periksa apakah satuan hasil akhirnya sesuai dengan satuan yang diharapkan (misalnya meter, joule). Jika terdapat ketidakkonsistenan, tunjukkan pada baris mana. Kode: [di sini]

Perintah lemah / Perintah kuat

Lemah: "Katakan hasil integral ini: ∫₀^∞ x²·e^(−x) dx"
Hasilnya: AI mengeluarkan angka di kepalanya (mungkin benar, mungkin salah); tidak ada yang dapat dieksekusi, tidak ada yang dapat diverifikasi.
Kuat: "Tulis kode Python yang menghitung integral ∫₀^∞ x²·e^(−x) dx dengan scipy.integrate.quad. Tambahkan baris tegas yang membandingkan hasilnya dengan nilai analitik integral ini, 2! = 2. Saya akan menjalankan kodenya."
Hasil: Kode yang dapat dieksekusi, validasi bawaan (perbandingan dengan nilai analitis) dan hasil yang andal.

Kesalahan umum

  • Mengandalkan hasil numerik verbal dari AI. LLM mungkin salah memprediksi keluaran kode di kepala. Selalu jalankan kodenya.
  • Tidak menguji dengan situasi yang diketahui. Kode yang tidak diuji dengan contoh sederhana yang Anda tahu jawabannya mungkin mengandung kesalahan tersembunyi.
  • Tidak memeriksa konvergensi. Bertahan dengan hitungan langkah tunggal mengaburkan apakah hasilnya dapat diandalkan secara numerik.
  • Tidak mencerminkan unit dalam kode. Tidak mengomentari unit variabel mengundang kesalahan diam 10ⁿ.
  • Mengabaikan versi/asumsi perpustakaan. Terkadang AI dapat menghasilkan nama fungsi yang tidak ada atau sintaksis yang usang; Ini terlihat saat Anda menjalankannya.
Perhatian: Sebelum memasukkan hasil numerik ke dalam publikasi, tugas, atau desain, uji kode dengan kasus independen yang diketahui dan berikan hasilnya dalam satuan/urutan. Bahkan kode yang berfungsi mungkin menghitung fisika yang salah; Hanya karena kodenya berfungsi bukan berarti fisikanya benar.

Singkatnya

AI adalah mitra yang kuat dalam menerjemahkan perhitungan fisik ke dalam kode Python; Namun angka-angka yang disampaikannya secara lisan hanyalah perkiraan, bukan fakta. Alur kerja yang aman jelas: tentukan masalah dengan unitnya, minta AI menulis kode tetapi Anda menjalankan outputnya, uji kode dengan situasi yang diketahui, periksa konvergensi dan unit. Yang deterministik adalah kode yang dieksekusi; Ini bukan LLM. Pada unit berikutnya kita akan memindahkan landasan numerik ini ke simulasi sistem fisik yang berubah terhadap waktu.

Tugas aplikasi

Pilih kalkulus fisika yang penyelesaian analitisnya Anda ketahui (misalnya, kecepatan benda jatuh bebas selama periode waktu tertentu atau integral tertentu sederhana). Minta AI menulis kode Python dengan template 1; jalankan kodenya sendiri. Bandingkan hasilnya dengan nilai analitis lho. Kemudian amati bagaimana hasilnya berperilaku dengan mengubah jumlah langkah atau parameter. Catatan dalam 5-6 kalimat: apakah keluaran kode sesuai dengan prediksi verbal, apakah ada masalah unit/pesanan?

daftar periksa

  • [ ] Saya mengklarifikasi masalah dan satuan semua variabel.
  • [ ] Saya sendiri yang menjalankan kode yang ditulis oleh AI, saya tidak mempercayai hasil verbal.
  • [ ] Saya menguji kode tersebut dengan situasi sederhana yang saya tahu jawabannya.
  • [ ] Saya memeriksa konvergensi atau sensitivitas parameter.
  • [ ] Saya secara fisik memberikan satuan dan urutan hasilnya.
  • [ ] Saya telah memverifikasi bahwa fungsi perpustakaan yang saya gunakan adalah nyata dan terkini.