2015-05-21 4 views
1

, поэтому этот вопрос, скорее всего, очень прост, и я видел подобные вопросы здесь, но ни один из них, похоже, не работает для меня. Я довольно любитель с Mathematica, поскольку у меня никогда не было много причин использовать его, поэтому, пожалуйста, не принимайте много технических знаний с моей стороны. Моя проблема довольно проста, я пытаюсь упростить шесть выражений, которые включают в себя два генератора x, y, которые, безусловно, не коммутируют. Действительно, yx = x^2y. Я хотел бы получить что-то вроде формы (x + ...) (y + ...) (...) или тому подобного, но всякий раз, когда я использую Mathematica (я использую пакет NCAlgebra), я не могу похоже, заставляют его работать. Любая помощь будет очень высоко ценится.Как упростить или разложить выражение не коммутирующих переменных

+0

Можете ли вы показать, что вы делали до сих пор? Это намного облегчает вам помощь. – SuperBiasedMan

+0

Ну, я точно не добрался. Раньше у меня никогда не было никакой пользы для Mathematica, и поэтому я изучаю веревки, когда я иду. До сих пор я просто пытался разложить или упростить что-то вроде x^3 + x ** y ** x с помощью команд NCSimplify [] и Factor []. –

ответ

0

В новейшей версии NCAlgebra вы можете использовать NCStrongCollect и NCCollect производить что-то вроде:

<< NC` 
<< NCAlgebra` 
expr = x^3 + x ** y ** x 
NCStrongCollect[expr, {x, y}] 

, что приводит к

x ** (x + y) ** x 

или

NCCollect[expr, {x, y}, ByTotalDegree -> True] 

, который в этом случае дает тот же результат.

Есть и другие инструменты упрощения, такие как NCSimplifyRational. Ознакомьтесь с документацией для получения подробной информации.