Векторний добуток цілих координат
Обчисліть векторний добуток за правилом правої руки двох векторів із трьома цілими координатами.
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)| Перевірте перед застосуванням | Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами. |
|---|---|
| Моделі | Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані. |
| Проєкт | Перевірте паралельні вектори, порядок базису та великі координати, відхиляючи неправильні довжини й нецілі компоненти без зміни входів. |
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)Зробіть припущення про орієнтацію явними перед редагуванням
VectorAnvil надає розробникам середовище Windows для вивчення коду, розмов про програмування й запропонованих змін із підключеною моделлю. У чисельному коді починайте з домовленості, на яку покладається решта застосунку. Вираз, що виглядає правильним, усе одно може бути хибною зміною, якщо код виклику тлумачить результат в іншій системі координат.
Одне із завдань — перевірка процедури векторного добутку за правилом правої руки для цілочисельних векторів із трьома компонентами. Додайте до розмови код виклику й припущення про типи, а потім запитайте, як порядок аргументів впливає на результат. Зазначте, чи має процедура залишати обидва вхідні вектори незмінними. Це задає моделі конкретну задачу супроводу, не перетворюючи математичний приклад на заяву про вбудовану функцію застосунку.
Оцініть пропозицію на тестових базисних і паралельних векторах у власному проєкті. Поміняйте вхідні вектори місцями й перевірте відповідність орієнтації заявленій домовленості. Додайте великі координати, якщо вони важливі для ваших типів даних, і перевірте відхилення некоректних даних. Вивчайте зміни в місцях виклику так само уважно, як саму процедуру.
Виберіть модель через підтримувану OpenAI-сумісну кінцеву точку або кінцеву точку Anthropic. Якщо вона надає моделі ШІ без фільтрів, VectorAnvil може використовувати підтримуване підключення з потрібними обліковими даними. Вибрані модель і сервер визначають обмеження відповідей, інструменти й межі контексту; домовленості вашого проєкту залишаються критерієм прийнятності результату.
Питання для перевірки векторного коду
Яку домовленість слід зазначити в запиті?
Укажіть систему координат, очікуваний порядок аргументів і типи компонентів у застосунку. Додайте один відомий результат із чинного контракту. Це дає основу для обговорення й допомагає помітити пропозицію, що непомітно змінює орієнтацію на протилежну.
Навіщо порівнювати переставлені вхідні дані?
У цьому прикладі переставляння двох векторів має змінити орієнтацію векторного добутку на протилежну. Використовуйте приклад із ненульовим результатом, щоб перевірка була змістовною. Вивчіть і код виклику, адже порядок його аргументів визначає фактично використану домовленість.
Чи мають паралельні вектори спричиняти помилку?
Опишіть правила застосунку, щоб пропозиція не вигадувала їх. Нульовий результат може бути допустимим для процедури, але потребувати спеціальної обробки пізнішим споживачем. Додайте цей код, якщо його поведінка входить до запитаної зміни.
Чи можна розширити процедуру на інші числові типи?
Розглядайте це як окрему зміну контракту з явними допустимими типами й перевірними випадками. Приклад із цілочисельними векторами не встановлює відповідної поведінки для чисел із рухомою комою чи переповнення у вашому застосунку. Перевірте реальні типи й виконайте відповідні перевірки проєкту.
VectorAnvil · Оновлено 2026-10-25