0
$\begingroup$

I am getting the message

Reduce::nsmet: This system cannot be solved with the methods available to Reduce.

while trying to solve the following equation:

Assuming[n ∈ Integers, Reduce[p + 2 s == (2 r (p + 2 b) + 2 b + p) (2 r + 1)^n, r, Reals]]

How can I get my code to work?

$\endgroup$
1
  • 1
    $\begingroup$ Not an answer, but it good to be aware that Assuming only works with functions that take an Assumptions option, which Reduce doesn't. You can append && Element[n, Integers] to the equation instead. $\endgroup$
    – Szabolcs
    Commented Dec 13, 2013 at 18:14

1 Answer 1

3
$\begingroup$

You can get a solution from Solve. Your equation can be rewritten

(1 + 2 r)^(1 + n) == (p + 2 s)/(2 b + p)

Making what I hope you can accept as a reasonable assumption about 2 b + p, I evaluated

Assuming[n ∈ Integers && 2 b + p != 0, 
  Solve[(1 + 2 r)^(1 + n) == (p + 2 s)/(2 b + p), r]]

Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>

{{r -> 1/2 (-1 + (p/(2 b + p) + (2 s)/(2 b + p))^(1/(1 + n)))}}

In this case, Reduce won't do any good, but perhaps you can live without knowing if the solution found by Solve may not be complete. I think you need only note that the formal solution fails for n = -1.

$\endgroup$
1
  • $\begingroup$ nice I missed that simple factoring ... $\endgroup$
    – tchronis
    Commented Dec 13, 2013 at 8:47

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.