Re: Iterative solution to a transcendental equation.

• To: mathgroup at smc.vnet.net
• Subject: [mg125056] Re: Iterative solution to a transcendental equation.
• From: Tomas Garza <tgarza10 at msn.com>
• Date: Mon, 20 Feb 2012 02:45:41 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201202191130.GAA15610@smc.vnet.net>

```Hi,
On first sight I notice you have some errors of syntax: ln should be written Log, and the exponential function should be written as Exp. Second, there is a problem with the transcription of your formulas from Mathematica into email. For example, I read fn[w]:=-a ln[w] =96 w + 1 + b [1 - e^(-alpha x[[i]])] , and I don't know the meaning of the =96. Other than that, I think the answer can be obtained without any hitch. If you let me know what is =96 (surely some symbol) and any value of x I can try my hand.
-Tomas

> Date: Sun, 19 Feb 2012 06:30:05 -0500
> From: peter.livingston at cox.net
> Subject: Iterative solution to a transcendental equation.
> To: mathgroup at smc.vnet.net
>
> Thank you for having the informative website, that as a new user,  I am
> enjoying.
>
>
>
> I am in the process or porting over into MATHEMATICA a long program that
> describes non-linear processes in optical fiber amplifiers=97an area of my
> specialty.
>
>
>
> There is a transcendental equation in this long program that, written in
> dimensionless form, shows the amplified signal in the cladding-pumped fiber.
> The particular snippet of code is in a nb file (I prefer to use the nb as a
> front end), but I transcribe it below.  As you shall see, this equation is
> unlike the examples in the manual, and I have not found any =91handle=92 on how
> to approach it.
>
>
>
> 1.       Divide the fiber length L into Mmax =150 steps
>
> X = Table[1-i/Mmax,{i,Mmax}];
>
> X = L N[x];
>
>
>
> 2.       For every interval x[[i]], find the root w of this expression. (I
> chose a single value for x just to see if the method would work.   It
> didn't.  But when it does, I want to operate on the whole row vector
> produced by Table, element by element.
>
> fn[w]:=-a ln[w] =96 w + 1 + b [1 - e^(-alpha x[[i]])]
>
> The constant a is 0.4, the constant b is 90 and the constant alpha is 0.53
>
> The root w is  number that is always greater than or equal to 1. (It is the
> ratio of the signal power in the fiber amplifier to the input signal power.)
>
>
>
> 3.       The construct I used is
>
> Soln=NSolve[fn[w]==0,w]
>
> Reduce[Soln]  --Note I have also tried FindRoot with similar bafflement.
>
>
>
> 4.       For my efforts I got several semi-intelligible error messages
>
> SetDelayed::write: Tag _Plus_ in _(1-w+0.09 1000[0.783204]-(2 log[w])/5)[w]_
> is Protected.
> <http://reference.wolfram.com/mathematica/ref/message/General/write.html> =87
>
> NSolve::ifun: Inverse functions are being used by _NSolve_, so some
> solutions may not be found; use Reduce for complete solution information.
> <http://reference.wolfram.com/mathematica/ref/NSolve.html> =87
>
> Reduce::naqs: _{w=AEInverseFunction[1-w+0.09 1000[0.783204]-(2
> log[w])/5,1,1][0.]}_ is not a quantified system of equations and
> inequalities.
> <http://reference.wolfram.com/mathematica/ref/message/Reduce/naqs.html> =87
>
>
>
> Needless to say, I am baffled.  It appears that coming from a progressive
> computing background, I know how to iteratively solve the equation.  I can
> do it in about 10 steps on a pocket calculator.  And I kow how to write do
> loops.  However, I believed that the power of MATHEMATICA was such that I
> should expect the kernel to figure out how to iteratively solve the
> transcendental equation.
>
>
>
> By the way, how do you get the kernel to spit out numbers with all of the
> arithmetic done, not just sums of products and such.
>
>
>
> Incidentally, while the =91bible=92=97Mathematics and Algorithms =97is absolutely
> essential, it could use an index and a few more illustrations.
>
>
>