MathGroup Archive 2005

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

Search the Archive

Re: NSolve problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59325] Re: NSolve problem
  • From: Wonseok Shin <wssbus at gmail.com>
  • Date: Fri, 5 Aug 2005 01:23:07 -0400 (EDT)
  • References: <dcsc67$q0k$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 2005-08-03 23:21:59 -0700, Enrique Zeleny <ezeleny at fcfm.buap.mx> said:

> 
> 
> Hi
> I f I try to solve these equations
> 
> Solve[{2 x + 3 y == 8 + I 7,
>     3 x +  y == 5 + 7 I, -2 I x + (1 + 3 I) y == 3 + 5 I}]
> 
> the result is
> 
> {{x -> 1 + 2*I, y -> 2 + I}}
> 
> but if I have
> 
> Solve[{2 x + 3 y == 8 + I 7,
>     3 x +  y == 4.99999999999999 + 7 I, -2 I x + (1 + 3 I) y == 3 + 5 I}]
> 
> gives
> 
> \!\(\*FormBox[
>   RowBox[{\(RowReduce::"luc"\), \(\(:\)\(\ \)\), "\<\"Result for \
> \\!\\(TraditionalForm\\`RowReduce\\) of badly conditioned matrix \
> \\!\\(TraditionalForm\\`\\((\[NoBreak] \\(\[LeftSkeleton] 1 \
> \[RightSkeleton]\\) \[NoBreak])\\)\\) may contain significant numerical \
> errors. \\!\\(\\*ButtonBox[\\\"More\\\",
> ButtonStyle->\\\"RefGuideLinkText\\\
> \", ButtonFrame->None, ButtonData:>\\\"General::luc\\\"]\\)\"\>"}], \
> TraditionalForm]\)
> 
> 
> {}
> 
> 
> I need only an aproximate result, say 5 digits of precission, how can I
> override the NSolve behavior?
> 
> 
> Thanks in advance

The set of equations is composed of three equations of two unknowns.  
Therefore it is basically a linearly dependent set of equations.  You 
can see that (3/7 + 11/7*I) * (1st equation) + (-2/7 -12/7*I) * (2nd 
equation) = (3rd equation).  It means solving three equations is 
equivalent to solving first two equations.

If you change the RHS of second equation as you did 5 --> 4.999999, you 
can't generate the 3rd equation with a combination of 1st and 2nd 
equation any more, so Mathematica gives no solution.

If you want only approximate solutions, the best way is to use N[expr, 
n], where 'n' means 'n-digit precision.'

Try the following:
N[Solve[{2 x + 3 y == 8 + I 7,
    3 x +  y == 5 + 7 I, -2 I x + (1 + 3 I) y == 3 + 5 I}], 5]

-- 
Wonseok Shin
wssaca at gmail.com


  • Prev by Date: Re: Pure Function within a pure function
  • Next by Date: Re: Some bugs in Mathematica
  • Previous by thread: Re: NSolve problem
  • Next by thread: Re: NSolve problem