RRootEquinox
Środowisko programowania z AI

Stabilne pierwiastki równania kwadratowego

Oblicz rzeczywiste pierwiastki równania kwadratowego ze skalowanymi współczynnikami i wzorem ograniczającym utratę cyfr.

● ● ●RootEquinox●
Sposoby pracy · Stabilne pierwiastki równania kwadratowego ×
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
✳Oblicz rzeczywiste pierwiastki równania kwadratowego ze skalowanymi współczynnikami i wzorem ograniczającym utratę cyfr.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
  1. Modele

    Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.

  2. Projekt

    Sprawdź pierwiastek podwójny i odległe pierwiastki, odrzucając zerowy współczynnik wiodący lub niereprezentowalne wyniki i zwracając brak pierwiastków dla ujemnego wyróżnika.

  3. Sprawdź przed zastosowaniem

    Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.

Sposoby pracy

Stabilne pierwiastki równania kwadratowego

Sposoby pracy ↗
Sposoby pracy
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
Środowisko programowania z AI

Sprawdź zachowanie numeryczne poza zwykłym przypadkiem

RootEquinox to środowisko programistyczne AI dla Windows dla programistów badających zachowanie implementacji numerycznej poza jej wygodnymi przykładami. Zacznij od plików projektu i opisz oczekiwany przez aplikację zakres wejść. Poproś podłączony model o analizę obliczenia i reakcji wywołującego, gdy wyniku nie da się reprezentować zgodnie z zamierzeniem.

Procedura pierwiastków równania kwadratowego to jedno konkretne zadanie. Współczynniki o bardzo różnych rzędach wielkości mogą ujawnić zachowanie pomijane przez mały szkolny przykład, więc włącz reprezentatywne dane testowe do rozmowy przed zleceniem zmiany. Omów pierwiastki podwójne, odrzucane współczynniki wiodące i zgłaszanie nieobsługiwanego wyniku. Te pytania wiążą zmianę wzoru z otaczającym kontraktem oprogramowania.

Przejrzyj wynikowy kod i uruchom kontrole projektu na oryginalnych danych testowych, w tym kontrole residuum, gdy są odpowiednie. Nie traktuj wiarygodnie wyglądającej wyświetlonej liczby jako wystarczającego dowodu spełnienia granic implementacji. RootEquinox działa z obsługiwanymi punktami końcowymi zgodnymi z OpenAI lub Anthropic, używając uwierzytelnienia, gdy jest wymagane. Model bez ograniczeń jest opcją, jeśli udostępnia go skonfigurowana usługa, a narzędzia i limity kontekstu zależą od serwera. Celem jest zmiana numeryczna, którą można ocenić na konkretnych przypadkach, z przeglądem odrzucania równie dokładnym jak poprawnego wyjścia.

Ocena poprawki numerycznej

Co dołączyć do zgłoszenia niedokładnego wyniku?

Podaj współczynniki wejściowe, oczekiwane zachowanie i szczegóły wystarczające do odtworzenia rozbieżności. Uwzględnij sposób użycia wyniku przez wywołującego. Daje to asystentowi konkretny problem programistyczny zamiast zachęty do zastąpienia wzoru bez dowodów.

Dlaczego sprawdzać ścieżki odrzucania w kodzie numerycznym?

Wywołujący potrzebują określonej odpowiedzi na nieprawidłowe dane lub niemożliwy do reprezentowania użyteczny wynik. Przejrzyj te ścieżki wraz z obliczeniem, aby poprawka nie zastąpiła jasnego błędu mylącym wyjściem lub nieoczekiwanym wyjątkiem.

Czy kontrola residuum dowodzi dokładności każdego pierwiastka?

Dostarcza informacji o zwracanych wartościach, ale nie jest uniwersalnym dowodem. Użyj jej z przypadkami referencyjnymi i kontrolami granic wejścia oraz przejrzyj założenia tolerancji, zamiast uznawać pojedyncze małe residuum za pełną walidację.

Czy zaakceptować przepisany kod przechodzący zwykłe przykłady?

Dopiero po sprawdzeniu trudnych przypadków, które uzasadniały zadanie. Zachowaj w testach projektu znacznie różniące się skale, pierwiastki podwójne i określone nieprawidłowe wejścia. Przed akceptacją zamiennika przejrzyj każdą zmianę zachowania przy błędzie.

Pobierz dla Windows ↗

RootEquinox · Zaktualizowano 2026-10-25