Как упростить следующее выражение в mathematica - PullRequest
2 голосов
/ 22 января 2011

У меня есть следующее:

(p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q^(1 + b))

Я хочу сделать две вещи:

1) и числитель, и знаменатель из p и q, чтобы они могли отменить

2) заставить -1 + q^b отображаться как 1 - q^b

3) Мне также нужно упростить знаменатель еще на один шаг, объединив -q^b+q^(1+b)=q^b(1-q), так как 1-q->p

Буду признателен за вашу помощь и предложения.

1 Ответ

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

Для второго вы можете сделать:

expr = (p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q^(1 + b)) //. 
       {x__ (-1 + q ^b) -> -x (1 - q^ b)}  

Out:

-((p^a*q*(1 - q^b))/(-(p^a*q) - q^b + p^a*q^b + q^(1 + b)))

Что касается первого, я не вижу никакого усиления ...

HTH!

Редактировать

Отвечая на ваш комментарий:

Я все еще не уверен, чего вы пытаетесь достичь с первымтрансформация, но вот попытка:

Numerator@expr/q/Collect[Distribute[Denominator@expr/q], q^(b - 1)]  

(p^a (1 - q^b))/(-p^a + (-1 + p^a) q^(-1 + b) + q^b)

alt text

В любом случае, я думаю, что здесь необходимо сделать предупреждение: заставить Mathematica показывать результаты «элегантным» способом можноочень сложно для больших выражений.Я предлагаю попытаться научиться делать это только после того, как вы немного освоите Mma.Затем, простым упражнением, чтобы начать, вы можете попробовать несколько способов заставить Mma показать

-1+a

как

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