Perkalian silang vektor bilangan bulat
Hitung perkalian silang sesuai kaidah tangan kanan dari dua vektor dengan tiga komponen bilangan bulat.
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)| Tinjau sebelum menerapkan | Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain. |
|---|---|
| Model | Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah. |
| Proyek | Uji vektor sejajar, urutan basis dan koordinat besar, lalu tolak panjang salah dan komponen bukan bilangan bulat tanpa mengubah masukan. |
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)Jelaskan asumsi orientasi sebelum mengedit
VectorAnvil memberi pengembang ruang kerja Windows untuk pemeriksaan kode sumber, percakapan pemrograman, dan usulan perubahan dengan model terhubung. Untuk kode numerik, mulailah dari konvensi yang diandalkan bagian aplikasi lainnya. Ekspresi yang tampak benar tetap dapat menjadi perubahan yang salah jika pemanggil menafsirkan keluarannya dalam sistem koordinat berbeda.
Salah satu tugasnya adalah meninjau rutin perkalian silang bertangan kanan untuk vektor integer tiga komponen. Bawa pemanggil dan asumsi tipenya ke percakapan, lalu tanyakan bagaimana urutan masukan memengaruhi hasil. Nyatakan apakah rutin harus membiarkan kedua masukan tetap utuh. Ini memberi model masalah pemeliharaan yang spesifik tanpa memperlakukan contoh matematis sebagai fitur bawaan aplikasi.
Evaluasi usulan dengan data uji vektor basis dan vektor sejajar dalam proyek Anda. Balik urutan masukan dan periksa apakah orientasi mengikuti konvensi yang dinyatakan. Sertakan koordinat besar bila relevan dengan tipe data Anda dan periksa jalur penolakan masukan berformat salah. Tinjau perubahan di lokasi pemanggilan sama telitinya dengan rutin itu sendiri.
Pilih model melalui endpoint kompatibel OpenAI atau Anthropic yang didukung. Jika endpoint tersebut menyediakan model AI tanpa filter, VectorAnvil dapat menggunakan koneksi yang didukung dengan kredensial yang diwajibkan. Model dan server yang dipilih menentukan batasan respons, alat, dan batas konteks; konvensi proyek Anda tetap menjadi standar penerimaan hasil.
Pertanyaan untuk peninjauan kode vektor
Konvensi apa yang harus dimasukkan dalam permintaan?
Nyatakan konvensi koordinat, urutan masukan yang diharapkan, dan tipe komponen yang digunakan aplikasi. Sertakan satu hasil yang diketahui dari kontrak yang ada. Ini menjadi landasan diskusi dan memudahkan pengenalan usulan yang diam-diam membalik orientasi.
Mengapa membandingkan masukan yang ditukar?
Dalam contoh ini, menukar kedua vektor seharusnya membalik orientasi perkalian silang. Gunakan data uji dengan hasil bukan nol agar pemeriksaan bermakna. Periksa juga kode pemanggil karena urutan argumen di sana menentukan konvensi yang sebenarnya digunakan.
Haruskah vektor sejajar menimbulkan kesalahan?
Jelaskan kebijakan aplikasi Anda alih-alih membiarkan usulan menciptakannya. Hasil nol mungkin valid untuk rutin tetapi memerlukan penanganan khusus oleh pengguna hasil di tahap berikutnya. Sertakan bagian tersebut jika perilakunya termasuk perubahan yang diminta.
Bisakah rutin diperluas ke tipe numerik lain?
Perlakukan sebagai perubahan kontrak terpisah dengan tipe yang diterima dan kasus verifikasi yang eksplisit. Contoh vektor integer tidak membuktikan perilaku floating-point atau luapan yang cocok bagi aplikasi Anda. Tinjau tipe sebenarnya dan jalankan pemeriksaan proyek yang relevan.
VectorAnvil · Diperbarui 2026-10-25