Tinjau sebelum menerapkan
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
Selesaikan sistem linear persegi berkoefisien bulat dengan maksimal delapan persamaan memakai pecahan tepat.
from fractions import Fraction
def solve_linear(matrix, rhs):
matrix, rhs = [tuple(row) for row in matrix], tuple(rhs)
n = len(matrix)
if not 1 <= n <= 8 or len(rhs) != n or any(len(row) != n for row in matrix):
raise ValueError("system.shape")
if any(type(v) is not int or abs(v) > 1000000 for row in matrix for v in row) or any(type(v) is not int or abs(v) > 1000000 for v in rhs):
raise ValueError("coefficient.range")
a = [[Fraction(v) for v in row] + [Fraction(rhs[i])] for i, row in enumerate(matrix)]
for col in range(n):
pivot = next((r for r in range(col, n) if a[r][col]), None)
if pivot is None:
raise ValueError("system.singular")
a[col], a[pivot] = a[pivot], a[col]
scale = a[col][col]
a[col] = [v / scale for v in a[col]]
for r in range(n):
if r != col:
factor = a[r][col]
a[r] = [x - factor * y for x, y in zip(a[r], a[col])]
return [row[-1] for row in a]Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
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.
Uji pertukaran baris yang diperlukan dan solusi pecahan, lalu tolak sistem singular atau dimensi tidak cocok sambil menjaga masukan.
from fractions import Fraction
def solve_linear(matrix, rhs):
matrix, rhs = [tuple(row) for row in matrix], tuple(rhs)
n = len(matrix)
if not 1 <= n <= 8 or len(rhs) != n or any(len(row) != n for row in matrix):
raise ValueError("system.shape")
if any(type(v) is not int or abs(v) > 1000000 for row in matrix for v in row) or any(type(v) is not int or abs(v) > 1000000 for v in rhs):
raise ValueError("coefficient.range")
a = [[Fraction(v) for v in row] + [Fraction(rhs[i])] for i, row in enumerate(matrix)]
for col in range(n):
pivot = next((r for r in range(col, n) if a[r][col]), None)
if pivot is None:
raise ValueError("system.singular")
a[col], a[pivot] = a[pivot], a[col]
scale = a[col][col]
a[col] = [v / scale for v in a[col]]
for r in range(n):
if r != col:
factor = a[r][col]
a[r] = [x - factor * y for x, y in zip(a[r], a[col])]
return [row[-1] for row in a]PivotQuartz adalah ruang kerja pemrograman Windows untuk mengembangkan kode aplikasi numerik dengan kriteria penerimaan eksplisit. Buka folder proyek dan identifikasi fungsi, representasi masukan, serta pemakai hasilnya. Model terhubung dapat membahas perubahan dalam konteks tersebut, sementara Anda memeriksa apakah usulannya mempertahankan asumsi pemanggil.
Permintaan peninjauan memakai linear.py dapat membandingkan hasil pecahan eksak dengan tampilan atau serialisasi yang diharapkan aplikasi. Berikan sistem kecil dengan solusi diketahui dan kasus singular yang harus ditolak. Tanyakan bagaimana refaktorisasi usulan menangani kedua jalur sebelum menerima perubahan aritmetika atau tipe hasil.
Alur kerja ini menjadikan kebenaran dan integrasi bagian dari diskusi yang sama. Jalankan pemeriksaan hasil independen di lingkungan pengembangan, lalu kaji kesalahan dan format keluaran melalui pemanggil. Mengubah pecahan menjadi nilai floating-point dapat menjadi pilihan aplikasi yang disengaja, tetapi batasnya perlu dinyatakan, bukan muncul secara insidental dalam perapian kode.
Pilih model AI tanpa sensor jika tersedia melalui endpoint yang kompatibel dengan OpenAI atau endpoint Anthropic yang didukung, dengan memberikan kredensial bila diperlukan. Batasan penyedia tetap berlaku, dan model serta server menentukan dukungan alat dan kapasitas konteks. PivotQuartz menyediakan ruang kerja untuk meninjau sumber; hasil harapan proyek memberi bukti untuk menerima suntingan.
Hanya jika aplikasi secara eksplisit memerlukan pendekatan dengan makna yang ditetapkan. Contoh ini menolak sistem singular. Periksa penanganan kegagalan itu oleh pemanggil dan pisahkan perubahan ke perilaku pendekatan dari refaktorisasi yang dimaksudkan mempertahankan hasil eksak.
Substitusikan ke persamaan asli menggunakan perhitungan independen yang sesuai dan bandingkan dengan ruas kanan yang diberikan. Sertakan kasus yang memerlukan pertukaran baris. Verifikasi juga representasi keluaran, karena nilai benar tetap dapat melanggar tipe yang diharapkan pemanggil.
Biasanya lapisan penyajian harus membuat keputusan itu secara eksplisit. Periksa struktur proyek saat ini dan tetapkan format yang diperlukan pemakainya. Hindari menambahkan pembulatan dalam fungsi bantu internal kecuali termasuk kontrak numerik yang disepakati.
Berikan rutinitas, kode pembentuk masukan, dan penanganan kesalahan pemanggil. Sertakan dimensi tidak cocok sebagai kasus uji. Pengujian aritmetika internal saja tidak dapat membuktikan data aplikasi berformat salah menerima respons yang diharapkan antarmuka.
PivotQuartz · Diperbarui 2026-10-25