Дифференцируемый ортогональный вектор - PullRequest
2 голосов
/ 31 января 2011

Кто-нибудь знает простую и дифференцируемую функцию, которая преобразует трехмерный вектор u = (x, y, z) в другой вектор, ортогональный u.

Точнее, я ищу три дифференцируемые функции {f, g, h}, чтобы вектор u = (x, y, z) был ортогонален v = (f(x,y,z), g(x,y,z), h(x,y,z)), а v равен нулю, только если u равен нулю.

Функции {f, g, h} должны быть максимально простыми. Я предпочитаю их линейные, но я думаю, что таких линейных функций не существует. Полиномы низкой степени также хороши.

P.S. Я нашел такие функции, но они не полиномы. Например:

f(x, y, z) = y*(exp(x) + 3) - z*(exp(x) + 2)
g(x, y, z) = z*(exp(x) + 1) - x*(exp(x) + 3)
h(x, y, z) = x*(exp(x) + 2) - y*(exp(x) + 1)

Это просто перекрестное произведение (x, y, z) на (exp (x) +1, exp (x) +2, exp (x) +3). Он удовлетворяет всем требованиям, кроме того, чтобы быть полиномами. Но они довольно просты.

Ответы [ 2 ]

7 голосов
/ 31 января 2011

Нет такой непрерывной функции не может существовать. Это является следствием теоремы «волосатый шар» , которая гласит, что не может быть непрерывного никогда не исчезающего касательного поля, определенного над сферой (если бы вы могли получить F(v) ненулевое, непрерывное и всегда ортогональное к v, затем v-F(v) может использоваться для простого определения непрерывного непрерывного касательного поля над сферой).

С другой стороны, если функция не должна быть непрерывной, тогда проблема проста. Обычно я выбираю, что больше между компонентом Y и Z v (в абсолютном значении), а затем вычисляю перекрестное произведение между v и (0, 1, 0), если компонент Z больше, или (0, 0, 1), если Y Компонент больше. Это позволяет избежать сингулярности.

1 голос
/ 31 января 2011

v = (y - z, z - x, x - y)

Это, кажется, соответствует всем вашим критериям, за исключением того, что ненулевое значение для ненулевого значения u Например, u = (1, 1, 1) взрывает это. Я подозреваю, что вы, возможно, правы, что нет линейного решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...