Я пытаюсь понять, как использовать Mathematica для решения систем уравнений, где некоторые переменные и коэффициенты являются векторами. Простым примером может быть что-то вроде
где я знаю A, V и величину P, и мне нужно найти t и направление P. (В принципе, учитывая два луча A и B, где я знаю все об A, кроме начала координат и величины B, выяснить, каким должно быть направление B, чтобы он пересекал A .)
Теперь я знаю, как решать такие задачи вручную, но это медленно и чревато ошибками, поэтому я надеялся, что смогу использовать Mathematica, чтобы ускорить процесс и проверить себя на наличие ошибок. Однако я не понимаю, как заставить Mathematica символически решать уравнения с такими векторами.
Я просмотрел пакет VectorAnalysis и не нашел там ничего подходящего; тем временем пакет Linear Algebra, похоже, имеет решатель только для линейных систем (а это не так, поскольку я не знаю t или P, просто | П|).
Я попытался сделать простодушную вещь: разложить векторы на их компоненты (притвориться, что они трехмерные) и решить их, как если бы я пытался приравнять две параметрические функции,
Solve[
{ Function[t, {Bx + Vx*t, By + Vy*t, Bz + Vz*t}][t] ==
Function[t, {Px*t, Py*t, Pz*t}][t],
Px^2 + Py^2 + Pz^2 == Q^2 } ,
{ t, Px, Py, Pz }
]
но "решение", которое выплевывается, представляет собой огромную кашу из коэффициентов и заторов. Это также заставляет меня расширять каждое из измерений, которыми я питаю его.
Я хочу красивое символическое решение с точки зрения точечных произведений, перекрестных произведений и норм:
Но я не понимаю, как сказать Solve
, что некоторые коэффициенты являются векторами, а не скалярами.
Это возможно? Может ли Mathematica дать мне символические решения для векторов? Или я должен просто придерживаться технологии No.2 Pencil?
(Просто для ясности: меня не интересует решение конкретного уравнения вверху — я спрашиваю, могу ли я использовать Mathematica для решения подобных задач вычислительной геометрии, как правило, без необходимости выражать все в виде явной матрицы {Ax, Ay, Az}
и др.)