MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to get a positive solution from Solve Command

  • To: mathgroup at smc.vnet.net
  • Subject: [mg67873] Re: How to get a positive solution from Solve Command
  • From: "David W. Cantrell" <DWCantrell at sigmaxi.net>
  • Date: Tue, 11 Jul 2006 05:58:42 -0400 (EDT)
  • References: <e8tcvo$2ga$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

abdou.oumaima at hotmail.com wrote:
> Hi David,
> You can see in the same topic

It's not the same *thread*. Regrettably, the name was changed (by you,
perhaps?). The first thread was "Beginner--How...", while this thread
is "How..." It's best to keep the same topic in the same thread, and
so it's best not to change the name.

> what Bob Halon proposed me to solve this
> equation. Thank you for your helper.

Bob helped you to do what you asked, and that's fine, of course.

But I was guessing that, given c in [0,1], you _actually_ wanted a
reasonable approximation of the nonnegative solution of
1 - c ArcTanh[x]/x == 0. Your method, which Bob helped you to implement,
does not approximate that solution well unless c happens to be quite
close to 1.

As an example, suppose that c = 1/10, so we're wanting to approximate the
nonnegative solution of 1 - 1/10 ArcTanh[x]/x == 0. Let's compare three
methods: a highly accurate one using FindRoot, my approximation and yours.

In[1]:= x = x /. FindRoot[1 - 1/10 ArcTanh[x]/x == 0, {x, .99},
WorkingPrecision -> 20]; Chop[x]
Out[1]= 0.99999999587769242372

In[2]:= N[Sqrt[1 - Exp[(1 - 1/c)(2 + c)]] /. c -> 1/10, 20]
Out[2]= 0.99999999690397615388

In[3]:= N[Sqrt[3/c - 3] /. c -> 1/10, 20]
Out[3]= 5.1961524227066318806

As you can see, the last result is hardly a reasonable approximation.

David


  • Prev by Date: Re: Hamiltonian circuits
  • Next by Date: Re: Redundant numerical input
  • Previous by thread: RE:How to get a positive solution from Solve Command
  • Next by thread: Re: RE:How to get a positive solution from Solve Command