Nghiệm bậc hai ổn định
Tính nghiệm thực bậc hai bằng hệ số được co giãn và công thức giảm triệt tiêu số.
from math import isfinite, sqrt, copysign
def real_roots(a, b, c):
original = (a, b, c)
if not all(type(v) in (int, float) and isfinite(v) for v in original) or a == 0:
raise ValueError("finite quadratic coefficients")
if c == 0:
other = -b / a
if not isfinite(other) or (b != 0 and other == 0):
raise ValueError("unrepresentable root")
return [0.0] if b == 0 else sorted((0.0, other))
scale = max(map(abs, original))
a, b, c = (v / scale for v in original)
if any(v != 0 and s == 0 for v, s in zip(original, (a,b,c))):
raise ValueError("coefficient underflow")
d = b*b - 4*a*c
if d < 0: return []
if d == 0: roots = [-b / (2*a)]
else:
q = -0.5 * (b + copysign(sqrt(d), b))
if q == 0: raise ValueError("root underflow")
roots = sorted((q/a, c/q))
if not all(map(isfinite, roots)) or (original[2] != 0 and 0 in roots):
raise ValueError("unrepresentable roots")
return rootsMô hình
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
Dự án
Kiểm tra nghiệm kép và nghiệm cách xa, từ chối hệ số đầu bằng không hay kết quả không biểu diễn được và trả danh sách rỗng nếu biệt thức âm.
Kiểm tra trước khi áp dụng
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
from math import isfinite, sqrt, copysign
def real_roots(a, b, c):
original = (a, b, c)
if not all(type(v) in (int, float) and isfinite(v) for v in original) or a == 0:
raise ValueError("finite quadratic coefficients")
if c == 0:
other = -b / a
if not isfinite(other) or (b != 0 and other == 0):
raise ValueError("unrepresentable root")
return [0.0] if b == 0 else sorted((0.0, other))
scale = max(map(abs, original))
a, b, c = (v / scale for v in original)
if any(v != 0 and s == 0 for v, s in zip(original, (a,b,c))):
raise ValueError("coefficient underflow")
d = b*b - 4*a*c
if d < 0: return []
if d == 0: roots = [-b / (2*a)]
else:
q = -0.5 * (b + copysign(sqrt(d), b))
if q == 0: raise ValueError("root underflow")
roots = sorted((q/a, c/q))
if not all(map(isfinite, roots)) or (original[2] != 0 and 0 in roots):
raise ValueError("unrepresentable roots")
return rootsRà soát hành vi số học ngoài trường hợp thông thường
RootEquinox là không gian lập trình AI trên Windows cho nhà phát triển cần xem cách triển khai số học hoạt động ngoài các ví dụ thuận lợi. Bắt đầu với tệp dự án và mô tả phạm vi đầu vào ứng dụng mong đợi. Yêu cầu mô hình kết nối xem cả phép tính lẫn phản hồi mã gọi khi không thể biểu diễn kết quả như dự định.
Thủ tục tìm nghiệm bậc hai là một tác vụ cụ thể. Hệ số có độ lớn chênh lệch nhiều có thể lộ hành vi mà ví dụ lớp học nhỏ bỏ sót, nên đưa dữ liệu tiêu biểu vào trao đổi trước khi yêu cầu sửa. Trao đổi nghiệm kép, hệ số bậc cao nhất bị từ chối và cách hàm báo kết quả không hỗ trợ. Các câu hỏi gắn đề xuất đổi công thức với quy ước phần mềm xung quanh.
Xem mã kết quả và chạy kiểm tra dự án bằng dữ liệu gốc, gồm kiểm tra phần dư khi phù hợp. Tránh coi số hiển thị có vẻ hợp lý là bằng chứng đủ rằng triển khai đáp ứng giới hạn. RootEquinox làm việc với điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ, dùng thông tin xác thực khi cần. Mô hình không hạn chế là lựa chọn nếu dịch vụ đã cấu hình cung cấp, còn công cụ và giới hạn ngữ cảnh tùy máy chủ. Mục tiêu là thay đổi số học có thể đánh giá theo ca rõ ràng, với hành vi từ chối được rà soát cẩn thận như đầu ra thành công.
Đánh giá bản sửa mã số học
Nên kèm gì khi báo kết quả không chính xác?
Cung cấp hệ số đầu vào, hành vi mong đợi và chi tiết đủ tái hiện sai lệch. Thêm cách mã gọi dùng kết quả. Điều đó cho trợ lý bài toán phần mềm cụ thể thay vì lời mời thay công thức không có bằng chứng.
Vì sao xem đường từ chối trong mã số học?
Mã gọi cần phản hồi xác định khi đầu vào không hợp lệ hoặc không thể biểu diễn kết quả hữu ích. Rà soát các đường đó cùng phép tính để bản sửa không thay lỗi rõ ràng bằng đầu ra gây hiểu nhầm hoặc ngoại lệ bất ngờ.
Kiểm tra phần dư có chứng minh mọi nghiệm chính xác không?
Nó đóng góp bằng chứng về giá trị trả về nhưng không phải chứng minh phổ quát. Dùng cùng ca tham chiếu và kiểm tra biên đầu vào, đồng thời rà soát giả định dung sai thay vì coi một phần dư nhỏ là xác minh đầy đủ.
Có nên chấp nhận bản viết lại vượt qua ví dụ thông thường không?
Chỉ sau khi kiểm tra các ca khó là lý do thực hiện tác vụ. Giữ độ lớn chênh lệch nhiều, nghiệm kép và đầu vào không hợp lệ đã quy định trong kiểm thử dự án. Rà soát mọi thay đổi hành vi lỗi trước khi chấp nhận phương án thay thế.
RootEquinox · Cập nhật 2026-10-25