PPivotQuartz
Środowisko programowania z AI

Dokładne rozwiązania układów liniowych

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.

● ● ●PivotQuartz●
Sposoby pracy · Dokładne rozwiązania układów liniowych ×
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]
✳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.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
01

Sprawdź przed zastosowaniem

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

02

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.

03

Projekt

Sprawdź konieczną zamianę wierszy i rozwiązanie ułamkowe, odrzucając układy osobliwe lub niezgodne wymiary bez zmiany danych.

Sposoby pracy

Dokładne rozwiązania układów liniowych

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

Oceniaj refaktoryzacje numeryczne względem kodu wywołującego

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.

Przed akceptacją refaktoryzacji numerycznej

Czy układ osobliwy powinien zwracać najlepsze przybliżenie?

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.

Jak niezależnie sprawdzić zwrócone rozwiązanie?

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.

Gdzie ułamki powinny stawać się tekstem do wyświetlenia?

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.

Jaki kontekst źródeł pomaga modelowi ocenić błędy kształtu danych?

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.

Pobierz dla Windows ↗

PivotQuartz · Zaktualizowano 2026-10-25