Groups | Search | Server Info | Login | Register


Groups > comp.soft-sys.math.maple > #193

Missing solution to (1-p)^n = 1-n*p

From Ilmari Karonen <usenet2@vyznev.invalid>
Newsgroups comp.soft-sys.math.maple
Subject Missing solution to (1-p)^n = 1-n*p
Date 2011-06-23 14:29 +0000
Organization vyznev.net
Message-ID <slrnj06jf1.fj7.usenet2@melkki.cs.helsinki.fi> (permalink)

Show all headers | View raw


While I was playing around with probabilities, I noticed that I wasn't
able to get Maple 12 to figure out that

  (1-p)^n = 1-n*p

has a solution at n = 1.  Of course, it's trivial to verify by
substitution that this is indeed a solution for any p, but I wasn't
able to get solve() to cough it up:

> assume(p > 0, p < 1, n > 0):
> interface(showassumed = 0):
> solve((1-p)^n = 1-n*p, n);
                                   0

OK, n = 0 certainly is a solution, but I'd have liked the other one
too.  Let me see if solving for all variables would do any better...

> solve((1-p)^n = 1-n*p);
    {n = n, p = -exp(RootOf(_Z n - ln(1 + n exp(_Z) - n))) + 1},
    {n = 1, p = 1}

Well, that wasn't very useful.  I'm not sure offhand if that RootOf()
can actually take values other than 0, but either way I really wanted
a solution for n, not p.  Any why does Maple figure out the specific
solution n = 1, p = 1, but not the more general n = 1, p = p?

Rewriting the left hand side as exp(n*log(1-p)) helps a little...

> solve(exp(n*log(1-p)) = 1-n*p, n);
memory used=3.8MB, alloc=3.2MB, time=0.22
memory used=7.6MB, alloc=5.1MB, time=0.38
                                  ln(1 - p)
                    ln(1 - p) exp(---------)
                                      p
          -LambertW(------------------------) p + ln(1 - p)
                               p
      exp(-------------------------------------------------) - 1
                                  p
    - ----------------------------------------------------------, 0
                                  p

...but unfortunately Maple does no better than me in simplifying that
awful nested expression, even though numerical testing does indeed
suggest that it is identically 1 at least for 0 < p < 1.

Solving in the real domain does no better:

> RealDomain[solve]((1-p)^n = 1-n*p, n);
memory used=11.4MB, alloc=5.9MB, time=0.60
                                           (1/p)
                          ln(1 - p) (1 - p)
          -LambertW(-_B3, ----------------------) p + ln(1 - p)
                                    p
      exp(-----------------------------------------------------) - 1
                                    p
    - --------------------------------------------------------------
                                    p

So, now I'm curious.  Is this just a bug in Maple 12, or am I doing
something silly?  Or both?  And does it work any better in later
versions?

-- 
Ilmari Karonen
To reply by e-mail, please replace ".invalid" with ".net" in address.

Back to comp.soft-sys.math.maple | Previous | NextNext in thread | Find similar


Thread

Missing solution to (1-p)^n = 1-n*p Ilmari Karonen <usenet2@vyznev.invalid> - 2011-06-23 14:29 +0000
  Re: Missing solution to (1-p)^n = 1-n*p Axel Vogt <&noreply@axelvogt.de> - 2011-06-23 18:47 +0200
    Re: Missing solution to (1-p)^n = 1-n*p Joe Riel <joer@san.rr.com> - 2011-06-23 10:49 -0700
      Re: Missing solution to (1-p)^n = 1-n*p Ilmari Karonen <usenet2@vyznev.invalid> - 2011-06-23 20:12 +0000

csiph-web