Как я могу вычислить обратное перекрестное произведение вектора в numpy?
Как я могу выполнить обратный кросс-продукт в NumPy?
То есть, учитывая два массива numpy b
а также c
как я могу найти a
такой, что
a.cross(b) == c
РЕДАКТИРОВАТЬ: Может ли кто-то отрицал, пожалуйста, дайте мне знать, что им не понравилось, чтобы я мог узнать из их мнения? Я задал вопрос, потому что я нигде не мог найти ответ. Оказывается, вопрос математически плохо определен (как указали люди), но с этого момента, если люди будут искать его здесь, появится этот ответ, и они узнают это быстро и легко.
2 ответа
Решение существует только в том случае, если a и c ортогональны, и решение не является единственным.
Тогда a = np.cross(b,c)/np.dot(b,b)+t*b является решением для всех t.
Посмотрите этот вопрос на Math SE: https://math.stackexchange.com/questions/32600/whats-the-opposite-of-a-cross-product
Нет функции, присущей numpy, которая найдет решение, которое вы ищете. Возможно, вам повезет, задав этот вопрос здесь.
Кажется, есть проблема и с вопросом. Из того, что я знаю о линейной алгебре, решение для "а" не даст единственного решения, если не будут выполнены определенные условия.
Смотрите этот ответ на бирже математического стека для получения дополнительной информации.