Pobierz aplikację
Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.
Pomnóż dwa kwaterniony Hamiltona o czterech skończonych składowych w ±10^6 ze skalarem na początku. Sprawdź jedność i odwrócone iloczyny bazowe, odrzucając wartości logiczne bez niejawnej normalizacji lub obietnicy obrotów jednostkowych.
Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.
Wybierz zgodny endpoint. Dostępne narzędzia i jakość odpowiedzi zależą od skonfigurowanego modelu i serwera.
Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
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)
Sprawdź przed zastosowaniem. Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.