स्थिर द्विघात मूल
स्केल किए गुणांकों और संख्यात्मक निरस्तीकरण घटाने वाले सूत्र से वास्तविक द्विघात मूल निकालें।
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 rootsमॉडल
बेस URL और आवश्यक होने पर API कुंजी से OpenAI-संगत या Anthropic endpoint सेट करें। कनेक्शन जाँचें। स्थानीय मॉडल सर्वर चालू होना चाहिए; दूरस्थ उपकरण अलग से डेटा भेज सकते हैं।
प्रोजेक्ट
दोहरा और दूर स्थित मूल जाँचें तथा शून्य अग्र गुणांक या अप्रस्तुत परिणाम अस्वीकार करें और ऋणात्मक विविक्तकर पर खाली सूची दें।
लागू करने से पहले समीक्षा करें
वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।
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 rootsसामान्य मामले से आगे संख्यात्मक व्यवहार की समीक्षा करें
RootEquinox उन डेवलपरों का Windows एआई कोडिंग कार्यक्षेत्र है जिन्हें आसान उदाहरणों से बाहर संख्यात्मक कार्यान्वयन का व्यवहार देखना है। परियोजना फ़ाइलों से शुरू करके अनुप्रयोग की अपेक्षित इनपुट सीमा बताएँ। जुड़े मॉडल से गणना और अपेक्षित रूप में परिणाम निरूपित न हो पाने पर कॉलर का प्रत्युत्तर दोनों देखने को कहें।
द्विघात मूल रूटीन एक ठोस काम है। बहुत अलग परिमाण वाले गुणांक ऐसा व्यवहार दिखा सकते हैं जो छोटा कक्षा उदाहरण छोड़ दे, इसलिए संपादन माँगने से पहले प्रतिनिधि नमूने लाएँ। दोहरे मूल, अस्वीकृत अग्रणी गुणांक और असमर्थित परिणाम फ़ंक्शन कैसे बताता है, इस पर चर्चा करें। ये प्रश्न सूत्र के बदलाव को आसपास के सॉफ़्टवेयर अनुबंध से जोड़ते हैं।
परिणामी स्रोत देखें और मूल नमूनों से परियोजना जाँचें चलाएँ, जहाँ उचित हो अवशेष जाँच समेत। विश्वसनीय दिखती संख्या को कार्यान्वयन के अपनी सीमाएँ पूरा करने का पर्याप्त प्रमाण न मानें। RootEquinox आवश्यक क्रेडेंशियल के साथ समर्थित OpenAI-संगत या Anthropic एंडपॉइंट पर काम करता है। कॉन्फ़िगर सेवा दे तो अप्रतिबंधित मॉडल विकल्प है, जबकि उपकरण और संदर्भ सीमाएँ सर्वर पर निर्भर हैं। लक्ष्य स्पष्ट मामलों से परखने योग्य संख्यात्मक बदलाव है, जिसमें अस्वीकृति व्यवहार सफल आउटपुट जितनी सावधानी से देखा जाए।
संख्यात्मक पैच का मूल्यांकन
गलत परिणाम की रिपोर्ट के साथ क्या दें?
इनपुट गुणांक, अपेक्षित व्यवहार और विसंगति दोहराने लायक विवरण दें। कॉलर परिणाम कैसे इस्तेमाल करता है यह शामिल करें। इससे सहायक को बिना प्रमाण सूत्र बदलने का निमंत्रण नहीं, ठोस सॉफ़्टवेयर समस्या मिलती है।
संख्यात्मक कोड में अस्वीकृति पथ क्यों देखें?
अमान्य इनपुट या उपयोगी परिणाम निरूपित न हो पाने पर कॉलर को परिभाषित प्रत्युत्तर चाहिए। गणना के साथ वे पथ देखें ताकि पैच स्पष्ट विफलता को भ्रामक आउटपुट या अनपेक्षित अपवाद से न बदल दे।
क्या अवशेष जाँच हर मूल की सटीकता सिद्ध कर सकती है?
वह लौटे मानों का प्रमाण जोड़ती है, सार्वभौमिक प्रमाण नहीं है। संदर्भ मामलों और इनपुट सीमा जाँचों के साथ लें तथा एक छोटे अवशेष को पूर्ण सत्यापन मानने के बजाय सहनशीलता की धारणाएँ देखें।
क्या सामान्य उदाहरण पास करने वाला पुनर्लेखन स्वीकारूँ?
काम की वजह बने कठिन मामले जाँचने के बाद ही। बहुत अलग पैमाने, दोहरे मूल और निर्दिष्ट अमान्य इनपुट परियोजना परीक्षणों में रखें। विकल्प स्वीकारने से पहले बदला विफलता व्यवहार देखें।
RootEquinox · अद्यतन 2026-10-25