4
$\begingroup$

I would like to simplify complicated expressions by defining some variable that is a combination of other variables that appear in the expression, but without eliminating the original variables.

As a simple example, I would like to convert

a^2 + a*b^2 + b

to

a*c + b

by introducing the relation

c == a + b^2

I saw this question, but the answers require that one variable be eliminated. The best expressions I could get with those strategies are

b - b^2 c + c^2
a*c - Sqrt[-a + c]
a*c + Sqrt[-a + c]

depending on whether I eliminate a or b, but these are not meaningfully simpler than the original expression. Is there any way to introduce a new variable without eliminating one of the dependent variables in the expression? If it matters, I have Mathematica 10.3.

$\endgroup$
1
  • $\begingroup$ Check 'PolynomialReduce'. $\endgroup$ Commented Dec 24, 2015 at 15:08

2 Answers 2

7
$\begingroup$
Simplify[a^2 + a*b^2 + b, b^2 == c - a]

(*  b + a c  *)

Or

a^2 + a*b^2 + b /. b^2 -> c - a // Simplify

(*  b + a c  *)
$\endgroup$
4
$\begingroup$

Also

Simplify[a^2 + a*b^2 + b, Assumptions -> {c == a + b^2}]

works.

$\endgroup$
1
  • 1
    $\begingroup$ In Simplify or FullSimplify it is not necessary to to use the Assumptions -> before the assumptions. $\endgroup$
    – Bob Hanlon
    Commented Dec 23, 2015 at 17:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.