RRootEquinox
AI-werkruimte voor code

Stabiele kwadratische wortels

Bereken reële kwadratische wortels met geschaalde coëfficiënten en een formule die numerieke uitdoving beperkt.

● ● ●RootEquinox●
Werkprocessen · Stabiele kwadratische wortels ×
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
✳Bereken reële kwadratische wortels met geschaalde coëfficiënten en een formule die numerieke uitdoving beperkt.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
  1. Modellen

    Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

  2. Project

    Test dubbele en ver uiteenliggende wortels, weiger een nul als leidende coëfficiënt of onvoorstelbare resultaten en geef geen wortels bij een negatieve discriminant.

  3. Controleer vóór het toepassen

    Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Werkprocessen

Stabiele kwadratische wortels

Werkprocessen ↗
Werkprocessen
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
AI-werkruimte voor code

Beoordeel numeriek gedrag buiten het gewone geval

RootEquinox is een AI-programmeeromgeving voor Windows voor ontwikkelaars die moeten onderzoeken hoe een numerieke implementatie zich buiten gemakkelijke voorbeelden gedraagt. Begin met uw projectbestanden en beschrijf het invoerbereik dat de toepassing verwacht. Vraag het aangesloten model zowel de berekening te inspecteren als de reactie van de aanroeper wanneer een resultaat niet zoals bedoeld kan worden weergegeven.

Een routine voor de wortels van een kwadratische vergelijking biedt een concrete taak. Coëfficiënten die ver uiteen liggen kunnen gedrag blootleggen dat een klein schoolvoorbeeld mist, dus bespreek representatieve testgevallen voordat u om een wijziging vraagt. Bespreek dubbele wortels, afgewezen leidende coëfficiënten en hoe de functie een niet-ondersteund resultaat meldt. Die vragen koppelen een voorgestelde formulewijziging aan het omliggende softwarecontract.

Inspecteer de resulterende broncode en voer projectcontroles uit met de oorspronkelijke testgevallen, inclusief residucontroles waar passend. Beschouw een aannemelijk weergegeven getal niet als voldoende bewijs dat de implementatie haar grenzen respecteert. RootEquinox werkt met ondersteunde OpenAI-compatibele of Anthropic-endpoints, waar vereist met toegangsgegevens. Een onbeperkt model is een optie waar de ingestelde dienst dit aanbiedt, terwijl tools en contextlimieten van de server afhangen. Het doel is een numerieke wijziging die u aan expliciete gevallen kunt toetsen, met even zorgvuldige beoordeling van afwijzingsgedrag als van geslaagde uitvoer.

Een numerieke patch beoordelen

Wat moet bij een gemeld onnauwkeurig resultaat worden gevoegd?

Geef de invoercoëfficiënten, het verwachte gedrag en voldoende details om de afwijking te reproduceren. Vermeld hoe de aanroeper het resultaat gebruikt. Zo krijgt de assistent een concreet softwareprobleem in plaats van een uitnodiging om zonder bewijs de formule te vervangen.

Waarom afwijzingstrajecten in numerieke code inspecteren?

Aanroepers hebben een vastgelegde reactie nodig wanneer invoer ongeldig is of een bruikbaar resultaat niet kan worden weergegeven. Beoordeel die trajecten samen met de berekening zodat een patch een duidelijke fout niet vervangt door misleidende uitvoer of een onverwachte uitzondering.

Kan een residucontrole bewijzen dat elke wortel nauwkeurig is?

Die levert bewijs over de geretourneerde waarden maar is geen universeel bewijs. Gebruik haar met referentiegevallen en controles van invoergrenzen en beoordeel de tolerantieaannames in plaats van één klein residu als volledige validatie te accepteren.

Moet ik een herschrijving accepteren die gewone voorbeelden doorstaat?

Pas na controle van de moeilijke gevallen die aanleiding waren voor de taak. Behoud sterk verschillende schalen, dubbele wortels en gespecificeerde ongeldige invoer in de projecttests. Beoordeel gewijzigd foutgedrag voordat u de vervanging accepteert.

Download voor Windows ↗

RootEquinox · Bijgewerkt 2026-10-25