EExponQuay
Ruang kerja kode dengan AI

Agregasi log-sum-exp stabil

Agregasikan maksimal 1000 nilai log dari minus 1e300 hingga 1e300 dengan mengurangi maksimum sebelum eksponensiasi.

● ● ●ExponQuay●
Alur kerja · Agregasi log-sum-exp stabil ×
from math import exp, fsum, log, inf

def log_sum_exp(values):
    if type(values) not in (list, tuple) or len(values) > 1000:
        raise ValueError("values.container")
    values = tuple(values)
    if len(values) > 1000 or any(
        type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
    ):
        raise ValueError("values.range")
    if not values:
        return -inf
    peak = max(values)
    return peak + log(fsum(exp(v - peak) for v in values))
✳Agregasikan maksimal 1000 nilai log dari minus 1e300 hingga 1e300 dengan mengurangi maksimum sebelum eksponensiasi.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
Tinjau sebelum menerapkanBandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
ModelAtur 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.
ProyekUji masukan kosong, nilai besar berulang dan sangat negatif, kembalikan minus tak hingga hanya untuk kosong dan tolak Boolean, nilai tidak hingga atau di luar rentang.
Alur kerja

Agregasi log-sum-exp stabil

Alur kerja ↗
Alur kerja
from math import exp, fsum, log, inf

def log_sum_exp(values):
    if type(values) not in (list, tuple) or len(values) > 1000:
        raise ValueError("values.container")
    values = tuple(values)
    if len(values) > 1000 or any(
        type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
    ):
        raise ValueError("values.range")
    if not values:
        return -inf
    peak = max(values)
    return peak + log(fsum(exp(v - peak) for v in values))
Ruang kerja kode dengan AI

Tinjau perilaku numerik sebelum memercayai hasil baru

ExponQuay adalah klien pemrograman AI untuk Windows bagi pengembang yang memerlukan penjelasan perubahan numerik dalam konteks aplikasi. Sertakan kode sumber, masukan bermasalah, dan perilaku yang diharapkan dalam percakapan proyek. Permintaan awal yang berguna meminta model terhubung memisahkan operasi matematis yang dimaksud dari keterbatasan implementasi saat ini.

Misalnya, tugas agregasi logaritmik dapat menentukan nilai masukan berbatas, ukuran koleksi maksimum, dan hasil untuk masukan kosong. Minta model memeriksa pendekatan pergeseran terhadap nilai maksimum sambil mempertahankan kontrak itu. Sertakan pemanggil yang menggunakan jawaban, terutama jika membedakan agregat kosong dari hasil numerik berhingga. Diskusi tetap tentang kode dalam proyek Anda.

Sebelum menerima usulan, jalankan kasus dengan nilai besar berulang dan nilai sangat negatif di lingkungan Anda sendiri. Periksa penolakan tipe yang tidak didukung dan masukan di luar rentang, serta hasil biasa. Bandingkan dengan acuan yang sesuai untuk presisi yang dibutuhkan aplikasi. Metode yang dimaksudkan meningkatkan stabilitas tetap perlu diverifikasi pada beban kerja yang benar-benar akan dilayaninya.

Pilih endpoint kompatibel OpenAI atau Anthropic yang didukung ExponQuay. Jika model AI tanpa filter tersedia di sana, Anda dapat memilihnya dengan kredensial yang diperlukan. Labelnya tidak menjanjikan presisi matematis; pembatasan model, batas konteks, dan dukungan alat bergantung pada konfigurasi endpoint serta model yang sebenarnya.

Menyiapkan peninjauan agregasi numerik

Apa yang perlu menyertai masukan numerik bermasalah?

Sertakan rentang atau hasil acuan yang diharapkan, tipe masukan yang diterima, dan perlakuan pemanggil terhadap keluaran khusus. Fakta ini memungkinkan percakapan menangani kebutuhan aplikasi, bukan sekadar mengganti satu ekspresi dengan rumus yang serupa secara matematis.

Haruskah masukan kosong mengembalikan angka biasa?

Ikuti kontrak yang Anda tentukan. Contoh menggunakan negatif tak hingga untuk agregat kosong, yang harus dipahami penggunanya. Tinjau pemanggil itu dan uji kasus kosong terpisah dari masukan sangat negatif tetapi valid sebelum menerima perubahan usulan.

Mengapa menguji nilai besar berulang?

Nilai tersebut menguji batas yang berguna bagi pendekatan agregasi dalam contoh proyek ini. Nyatakan perilaku yang diharapkan dan bandingkan implementasi dengan acuan yang sesuai. Jangan menyimpulkan akurasi numerik umum dari satu data uji biasa yang menghindari nilai ekstrem.

Bisakah model memilih toleransi kesalahan yang dapat diterima?

Model dapat menjelaskan kompromi, tetapi persyaratan aplikasi menentukan toleransinya. Berikan persyaratan itu dan tipe numerik yang digunakan. Jalankan usulan terhadap masukan representatif dengan alat Anda sendiri dan dokumentasikan batas yang diamati selama peninjauan.

Unduh untuk Windows ↗

ExponQuay · Diperbarui 2026-10-25