Re: Innacurate Solve results
- To: mathgroup at smc.vnet.net
- Subject: [mg4054] Re: Innacurate Solve results
- From: danl (Daniel Lichtblau)
- Date: Thu, 30 May 1996 02:48:23 -0400
- Organization: Wolfram Research, Inc.
- Sender: owner-wri-mathgroup at wolfram.com
In article <4nostg$975 at dragonfly.wolfram.com> Mark Van de Vyver <mvyver at ecel.uwa.edu.au> writes: > Hi, > > I'm battling with Solve and the following problem. > The Problem is set up in mma as follows: > > In[1] > > Clear[ m, v, X0, ximageB, ximageC, A, imagestrength, q1, q] > q1[x0_,x_,t_]:=(2 Pi t)^(-1/2) Exp[-(x-x0-m t)^2 (2 t v)^-1] > a[t_]:=1/2 - t*Log[1/4 + (E^(-t^(-1)))^(1/2)/2^(1/2)] > t=1; > m=0; > v=1; > X0=0; > ximageB=1; > ximageC=2; > A=1; > (* imagestrength=1/2; *) > > In[2] > > Solve[ {q[x, t]==A q1[X0, x, t] + imagestrength q1[ximageB, x, t] + imagestrength q1[ximageC, x, t], > A q1[X0, x, 0] + imagestrength q1[ximageB, x, 0] + imagestrength q1[ximageC, x, 0]==DiracDelta[x], > A q1[X0, a[t], t] + imagestrength q1[ximageB, a[t], t] + imagestrength q1[ximageC, a[t], t]==0}, > { q[x,t], imagestrength}]//Simplify > > The result mma gives is close but v. innacurate and v. messy. For example applying //N to imagestrength gives > -0.44.... > It should be -0.5. > Further more q[x,t] should be the same as > g[y_, t_]=( (2 Pi t)^(-1/2) ) (Exp[-(y^2)/(2t)]-(1/2) Exp[-((y-1)^2)/(2t)]-(1/2)Exp[-((y-2)^2)/(2t)]) > Ploting q and g will make clear how large the problem is and that whatever mma is doing wrong grows as x does. > > Can anyone point me the problem out to me, or where I might find a solution. > Thanks in advance > > Mark > -- > Mark Van de Vyver > __________________________________________________________________________ ___ > Mark Van de Vyver > Department of Accounting and Finance Phone: (61) (09) 380-2510 > University of Western Australia Fax: (61) (09) 380-1047 > Nedlands 6907 e-mail: mvyver at ecel.uwa.edu.au > Perth > __________________________________________________________________________ ___ > > Your equations do not agree with your comment that imagestrength is 1/2. If you explicitly substitute 1/2 for imagestrength in the third eqn you get a numeric value of the left hand side that is not zero, as is shown below (indeed, our development version recognizes this fact without recourse to N[], and simply evaluates it to False). Two other notable points: after setting t to 1, q[x,t] obviously becomes q[x,1]. Also, your second equation does not evaluate to something useful (which is just as well, or else the system would be overdetermined). In[1]:= Clear[ m, v, X0, ximageB, ximageC, A, imagestrength, q1, q] q1[x0_,x_,t_]:=(2 Pi t)^(-1/2) Exp[-(x-x0-m t)^2 (2 t v)^-1] a[t_]:=1/2 - t*Log[1/4 + (E^(-t^(-1)))^(1/2)/2^(1/2)] t=1; m=0; v=1; X0=0; ximageB=1; ximageC=2; A=1; General::spell1: Possible spelling error: new symbol name "ximageC" is similar to existing symbol "ximageB". In[2]:= In[3]:= In[4]:= In[5]:= In[6]:= In[7]:= In[8]:= In[9]:= In[10]:= In[11]:= eqns = {q[x, t]==A q1[X0, x, t] + imagestrength q1[ximageB, x, t] + imagestrength q1[ximageC, x, t], A q1[X0, x, 0] + imagestrength q1[ximageB, x, 0] + imagestrength q1[ximageC, x, 0]==DiracDelta[x], A q1[X0, a[t], t] + imagestrength q1[ximageB, a[t], t] + imagestrength q1[ximageC, a[t], t]==0}; 1 Power::infy: Infinite expression ------- encountered. Sqrt[0] 1 Power::infy: Infinite expression - encountered. 0 ComplexInfinity Infinity::indet: Indeterminate expression E encountered. 1 Power::infy: Infinite expression ------- encountered. Sqrt[0] General::stop: Further output of Power::infy will be suppressed during this calculation. ComplexInfinity Infinity::indet: Indeterminate expression E encountered. ComplexInfinity Infinity::indet: Indeterminate expression E encountered. General::stop: Further output of Infinity::indet will be suppressed during this calculation. In[12]:= eqns // InputForm Out[12]//InputForm= {q[x, 1] == 1/(E^(x^2/2)*(2*Pi)^(1/2)) + imagestrength/(E^((-2 + x)^2/2)*(2*Pi)^(1/2)) + imagestrength/(E^((-1 + x)^2/2)*(2*Pi)^(1/2)), Indeterminate == DiracDelta[x], 1/(E^((1/2 - Log[1/4 + (2*E)^(-1/2)])^2/2)*(2*Pi)^(1/2)) + imagestrength/(E^((-3/2 - Log[1/4 + (2*E)^(-1/2)])^2/2)*(2*Pi)^(1/2)) + imagestrength/(E^((-1/2 - Log[1/4 + (2*E)^(-1/2)])^2/2)*(2*Pi)^(1/2)) == 0} In[13]:= InputForm[lasteq = Last[eqns] /. imagestrength->1/2] Out[13]//InputForm= 1/(2*E^((-3/2 - Log[1/4 + (2*E)^(-1/2)])^2/2)*(2*Pi)^(1/2)) + 1/(2*E^((-1/2 - Log[1/4 + (2*E)^(-1/2)])^2/2)*(2*Pi)^(1/2)) + 1/(E^((1/2 - Log[1/4 + (2*E)^(-1/2)])^2/2)*(2*Pi)^(1/2)) == 0 In[14]:= N[lasteq[[1]], 30] Out[14]= 0.574736261112608087103710247873 In[15]:= $Version Out[15]= NeXT 2.2 (July 13, 1993) Daniel Lichtblau Wolfram Research, Inc. danl at wolfram.com ==== [MESSAGE SEPARATOR] ====