Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Rozwiąż kwadratowy układ liniowy o całkowitych współczynnikach i najwyżej ośmiu równaniach przy użyciu dokładnych ułamków.
from fractions import Fraction
def solve_linear(matrix, rhs):
matrix, rhs = [tuple(row) for row in matrix], tuple(rhs)
n = len(matrix)
if not 1 <= n <= 8 or len(rhs) != n or any(len(row) != n for row in matrix):
raise ValueError("system.shape")
if any(type(v) is not int or abs(v) > 1000000 for row in matrix for v in row) or any(type(v) is not int or abs(v) > 1000000 for v in rhs):
raise ValueError("coefficient.range")
a = [[Fraction(v) for v in row] + [Fraction(rhs[i])] for i, row in enumerate(matrix)]
for col in range(n):
pivot = next((r for r in range(col, n) if a[r][col]), None)
if pivot is None:
raise ValueError("system.singular")
a[col], a[pivot] = a[pivot], a[col]
scale = a[col][col]
a[col] = [v / scale for v in a[col]]
for r in range(n):
if r != col:
factor = a[r][col]
a[r] = [x - factor * y for x, y in zip(a[r], a[col])]
return [row[-1] for row in a]Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
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.
Sprawdź konieczną zamianę wierszy i rozwiązanie ułamkowe, odrzucając układy osobliwe lub niezgodne wymiary bez zmiany danych.
from fractions import Fraction
def solve_linear(matrix, rhs):
matrix, rhs = [tuple(row) for row in matrix], tuple(rhs)
n = len(matrix)
if not 1 <= n <= 8 or len(rhs) != n or any(len(row) != n for row in matrix):
raise ValueError("system.shape")
if any(type(v) is not int or abs(v) > 1000000 for row in matrix for v in row) or any(type(v) is not int or abs(v) > 1000000 for v in rhs):
raise ValueError("coefficient.range")
a = [[Fraction(v) for v in row] + [Fraction(rhs[i])] for i, row in enumerate(matrix)]
for col in range(n):
pivot = next((r for r in range(col, n) if a[r][col]), None)
if pivot is None:
raise ValueError("system.singular")
a[col], a[pivot] = a[pivot], a[col]
scale = a[col][col]
a[col] = [v / scale for v in a[col]]
for r in range(n):
if r != col:
factor = a[r][col]
a[r] = [x - factor * y for x, y in zip(a[r], a[col])]
return [row[-1] for row in a]PivotQuartz to środowisko programistyczne dla Windows do rozwijania kodu numerycznego aplikacji z jawnymi kryteriami akceptacji. Otwórz folder projektu i wskaż funkcję, reprezentację wejścia oraz odbiorcę wyniku. Podłączony model może omówić zmianę w tym kontekście, a Ty sprawdzisz, czy propozycja zachowuje założenia kodu wywołującego.
Zlecenie przeglądu linear.py może obejmować porównanie dokładnego wyniku ułamkowego z tym, co aplikacja ma wyświetlać lub serializować. Podaj mały układ o znanym rozwiązaniu i przypadek osobliwy, który trzeba odrzucić. Zanim zaakceptujesz zmiany arytmetyki lub typów wyników, zapytaj, jak proponowana refaktoryzacja obsługuje obie ścieżki.
Taki proces łączy poprawność i integrację w jednej rozmowie. Uruchom niezależne kontrole wyników w środowisku programistycznym, a następnie sprawdź błędy i formatowanie wyjścia przez kod wywołujący. Zamiana ułamków na wartości zmiennoprzecinkowe może być świadomym wyborem aplikacji, ale wymaga określonej granicy, zamiast pojawiać się przy okazji porządkowania kodu.
Wybierz model AI bez cenzury tam, gdzie jest dostępny przez obsługiwany punkt końcowy zgodny z OpenAI lub punkt Anthropic, podając wymagane dane uwierzytelniające. Ograniczenia dostawcy pozostają w mocy, a model i serwer określają obsługę narzędzi i pojemność kontekstu. PivotQuartz zapewnia środowisko przeglądu źródeł; oczekiwane wyniki projektu dostarczają dowodów do akceptacji zmiany.
Tylko jeśli aplikacja jawnie wymaga przybliżenia o określonym znaczeniu. Przykład odrzuca układy osobliwe. Sprawdź obsługę tej sytuacji w kodzie wywołującym i oddziel zmianę zachowania na przybliżone od refaktoryzacji mającej zachować dokładne wyniki.
Podstaw je do pierwotnych równań przy użyciu odpowiedniego niezależnego obliczenia i porównaj z podaną prawą stroną. Uwzględnij przypadek wymagający zamiany wierszy. Zweryfikuj też reprezentację wyniku, ponieważ poprawna wartość może naruszać typ oczekiwany przez kod wywołujący.
Zwykle jawnie powinna o tym decydować warstwa prezentacji. Sprawdź obecną strukturę projektu i określ format wymagany przez odbiorcę. Unikaj zaokrąglania wewnątrz funkcji pomocniczej, chyba że należy ono do uzgodnionego kontraktu numerycznego.
Podaj funkcję, kod budujący dane wejściowe i obsługę błędów w kodzie wywołującym. Dołącz przypadek niedopasowanych wymiarów. Sam test wewnętrznej arytmetyki nie potwierdzi, że błędne dane aplikacji otrzymują odpowiedź oczekiwaną przez interfejs.
PivotQuartz · Zaktualizowano 2026-10-25