QQuaterelle
Środowisko programowania z AI

Mnożenie kwaternionów Hamiltona

Pomnóż dwa kwaterniony Hamiltona o czterech skończonych składowych w ±10^6 ze skalarem na początku.

● ● ●Quaterelle●
Sposoby pracy · Mnożenie kwaternionów Hamiltona ×
import math

def quaternion_product(a, b):
    for q in (a, b):
        if type(q) not in (list, tuple) or len(q) != 4:
            raise ValueError("quaternion.shape")
        if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in q):
            raise ValueError("quaternion.value")
    w, x, y, z = a
    v, i, j, k = b
    return (w*v-x*i-y*j-z*k, w*i+x*v+y*k-z*j,
            w*j-x*k+y*v+z*i, w*k+x*j-y*i+z*v)
✳Mnożenie kwaternionów Hamiltona
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
Projekt
Sprawdź jedność i odwrócone iloczyny bazowe, odrzucając wartości logiczne bez niejawnej normalizacji lub obietnicy obrotów jednostkowych.
Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
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.
Sposoby pracy

Mnożenie kwaternionów Hamiltona

Sposoby pracy ↗
Sposoby pracy
import math

def quaternion_product(a, b):
    for q in (a, b):
        if type(q) not in (list, tuple) or len(q) != 4:
            raise ValueError("quaternion.shape")
        if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in q):
            raise ValueError("quaternion.value")
    w, x, y, z = a
    v, i, j, k = b
    return (w*v-x*i-y*j-z*k, w*i+x*v+y*k-z*j,
            w*j-x*k+y*v+z*i, w*k+x*j-y*i+z*v)
Środowisko programowania z AI

Zachowaj widoczność konwencji reprezentacji podczas zmian kodu

Błąd obrotu może przetrwać elegancką poprawkę arytmetyki, gdy dwa moduły różnią się konwencją reprezentacji. Quaterelle to środowisko programowania z AI dla Windows do badania takiej rozbieżności. Dodaj do rozmowy obliczenie i korzystający z niego kod oraz poproś podłączony model o rozpoznanie konwencji składowych przed proponowaniem zmian. Zacznij od zaobserwowanego ruchu i zamierzonego wyniku.

Możliwym zadaniem jest przegląd mnożenia kwaternionów używanego przez transformację sceny. Określ kolejność składowych i operację, która ma zajść jako pierwsza, a następnie podaj znane wejścia i wyniki. Poproś asystenta o prześledzenie tych założeń w kodzie wywołującym i zaproponowanie ukierunkowanej poprawki. Zadaniem jest ulepszenie własnego kodu transformacji z wyjaśnieniem zmiany, które można sprawdzić.

Zweryfikuj propozycję zarówno testami arytmetycznymi, jak i zachowaniem aplikacji. Sprawdź złożenie z identycznością, parę wrażliwą na kolejność i nieprawidłowe składowe względem kontraktu projektu. Następnie samodzielnie uruchom daną scenę lub test integracyjny. Sprawdź, czy poprawka zmienia założenia normalizacji lub akceptowane zakresy, ponieważ decyzje te mogą wpływać na kod wywołujący poza pierwotnie zgłoszonym ruchem.

Quaterelle łączy się z obsługiwanymi punktami końcowymi zgodnymi z OpenAI lub Anthropic. Model AI po ablacji można wybrać, jeśli jest dostępny ze skonfigurowanej usługi; narzędzia, pojemność kontekstu i ograniczenia nadal zależą od modelu i serwera. Użyj środowiska do wspólnego przechowywania konwencji i proponowanych zmian podczas oceny wyniku.

Przygotowanie przeglądu kodu obrotów

Którą konwencję kwaternionów należy podać?

Podaj kolejność składowych, konwencję mnożenia i interpretację używaną przez moduł odbierający. Uwzględnij konwersje na tej granicy. Podobnie wyglądające tablice mogą reprezentować różne konwencje, dlatego asystent nie powinien wnioskować o nich wyłącznie z nazw zmiennych.

Dlaczego testować parę, dla której kolejność ma znaczenie?

Przykłady z identycznością mogą przechodzić nawet przy błędnej kolejności składania. Użyj znanej pary nieprzemiennej i określ, która transformacja działa pierwsza. Sprawdź wynik arytmetyczny oraz efekt oczekiwany w ścieżce transformacji aplikacji.

Czy mnożenie powinno normalizować każdy wynik?

Zależy to od kontraktu i znaczenia danych wejściowych. Przed dodaniem normalizacji poproś model o sprawdzenie, gdzie odbywa się obecnie. Automatyczny krok normalizacji może zmienić zachowanie, na którym kod wywołujący celowo polega.

Czy test liczbowy zastąpi sprawdzenie sceny?

Weryfikuje część obliczenia, ale scena może stosować dodatkowe konwersje lub transformacje. Uruchom także właściwą ścieżkę integracji. Zachowaj test liczbowy do wyjaśnienia poprawki, a kontrolę sceny do potwierdzenia jej rzeczywistego użycia.

Pobierz dla Windows ↗

Quaterelle · Zaktualizowano 2026-10-25