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)
✳Nhân quaternion Hamilton
✓ Thay đổiKiểm tra trước khi áp dụng ↗
Minh họa không gian làm việc
Dự án
Thử đơn vị và tích cơ sở đảo thứ tự, từ chối Boolean mà không chuẩn hóa ngầm hoặc khẳng định phép quay đơn vị.
Kiểm tra trước khi áp dụng
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
Mô hình
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
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)
Không gian lập trình với AI
Giữ rõ quy ước biểu diễn khi thay đổi mã
Lỗi phép quay có thể tồn tại sau bản vá số học trông gọn gàng khi hai mô-đun bất đồng về biểu diễn. Quaterelle là không gian lập trình AI trên Windows để điều tra sự bất đồng đó. Đưa phép tính và bên sử dụng vào cuộc trao đổi, yêu cầu mô hình được kết nối xác định quy ước thành phần trước khi đề xuất thay đổi. Bắt đầu với chuyển động quan sát được và kết quả dự định.
Một tác vụ có thể là rà soát phép nhân quaternion dùng cho biến đổi cảnh. Nêu thứ tự thành phần và phép toán nào phải diễn ra trước, rồi cung cấp đầu vào, đầu ra đã biết. Yêu cầu trợ lý lần theo các giả định qua bên gọi và đề xuất sửa đổi tập trung. Tác vụ nhằm cải thiện mã biến đổi của bạn bằng lời giải thích có thể kiểm tra về thay đổi.
Kiểm chứng đề xuất qua cả ca kiểm thử số học lẫn hành vi ứng dụng. Kiểm tra phép hợp thành với phần tử đơn vị, cặp nhạy với thứ tự và thành phần không hợp lệ theo quy ước dự án. Sau đó tự chạy cảnh hoặc kiểm thử tích hợp bị ảnh hưởng. Xem bản vá có đổi giả định chuẩn hóa hoặc phạm vi chấp nhận không, vì những quyết định đó có thể tác động bên gọi ngoài chuyển động được báo lỗi ban đầu.
Quaterelle kết nối điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ. Có thể chọn mô hình AI abliterated nếu dịch vụ đã cấu hình cung cấp; công cụ, dung lượng ngữ cảnh và hạn chế vẫn phụ thuộc mô hình cùng máy chủ. Dùng không gian làm việc để giữ quy ước và sửa đổi đề xuất cùng nhau khi đánh giá kết quả.
Chuẩn bị rà soát mã phép quay
Tôi nên kèm quy ước quaternion nào?
Cung cấp thứ tự thành phần, quy ước phép nhân và cách diễn giải của mô-đun sử dụng. Kèm mọi chuyển đổi tại ranh giới đó. Mảng trông giống nhau có thể biểu diễn quy ước khác nhau, nên trợ lý không nên suy ra chỉ từ tên biến.
Vì sao kiểm thử cặp có thứ tự quan trọng?
Ví dụ với phần tử đơn vị có thể đạt ngay cả khi thứ tự hợp thành sai. Dùng cặp đã biết không giao hoán và nêu phép biến đổi nào tác động trước. Kiểm tra cả kết quả số học và hiệu ứng mong đợi trong luồng biến đổi của ứng dụng.
Phép nhân có nên chuẩn hóa mọi kết quả?
Điều đó phụ thuộc quy ước và ý nghĩa đầu vào. Yêu cầu mô hình kiểm tra nơi chuẩn hóa hiện diễn ra trước khi thêm bước này. Chuẩn hóa tự động có thể đổi hành vi mà bên gọi cố ý dựa vào.
Ca kiểm thử số có thay thế việc kiểm tra cảnh được không?
Nó xác minh một phần phép tính, nhưng cảnh có thể áp dụng chuyển đổi hoặc phép biến đổi bổ sung. Cũng chạy luồng tích hợp liên quan. Giữ ca kiểm thử số để giải thích sửa đổi và kiểm tra cảnh để xác nhận cách dùng thực tế.