MathGroup Archive 2003

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

Search the Archive

Re: reduced functionality of Solve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg44245] Re: reduced functionality of Solve
  • From: CliffMitchel142 at hotmail.com (Cliff Mitchel)
  • Date: Fri, 31 Oct 2003 03:01:10 -0500 (EST)
  • References: <bnnusd$5vc$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Try Reduce instead of Solve and FindInstance to get numbers. They seem
to be much more powerful than Solve, and more so than Solve in 4.1.

eg
Reduce[{D[F[W, y], y]*Tan[y] == 2*F[W, y], W == 1000*Sec[y]^2}, {W,
y}]


W == 7000 && C[1] &#8712; Integers && (y == -2*ArcTan[Sqrt[(1/3)*(4 -
Sqrt[7])]] + 2*Pi*C[1] ||
   y == 2*ArcTan[Sqrt[(1/3)*(4 - Sqrt[7])]] + 2*Pi*C[1] || y ==
-2*ArcTan[Sqrt[(1/3)*(4 + Sqrt[7])]] + 2*Pi*C[1] ||
   y == 2*ArcTan[Sqrt[(1/3)*(4 + Sqrt[7])]] + 2*Pi*C[1])

FindInstance[{D[F[W, y], y]*Tan[y] == 2*F[W, y], W == 1000*Sec[y]^2},
{W, y},2]

{{W -> 7000, y -> -2*(31*Pi - ArcTan[Sqrt[(1/3)*(4 + Sqrt[7])]])}, {W
-> 7000, y -> 2*(51*Pi + ArcTan[Sqrt[(1/3)*(4 + Sqrt[7])]])}}


FindInstance[{D[F[W, y], y]*Tan[y] == 2*F[W, y], W == 1000*Sec[y]^2},
{W, y},2]//N

{{W->7000.,y->192.82},{W->7000.,y->322.401}}

Andrew Collier <colliera at nu.ac.za> wrote in message news:<bnnusd$5vc$1 at smc.vnet.net>...
> hello,
> 
> this may be a naive idea but i expected the functionality of software to
> improve with later releases. this, in my opinion, does not seem to be the
> case from mathematica 4.1 to 5.0... or maybe i am just missing something.
> 
> in a script i have the following bit of code:
> 
> -------------------------------------------------------------------------
> F[W_, y_] := Exp[-W(Cos[y]^2/Tp + Sin[y]^2/Tn)]
> 
> Tn = 3000;
> Tp = 2000;
> 
> Solve[{D[F[W, y], y] Tan[y] == 2 F[W, y], W == 1000 Sec[y] ^ 2}, {W, y}];
> N[%] // TableForm
> -------------------------------------------------------------------------
> 
> now, with mathematica 4.1 this gives:
> 
> -------------------------------------------------------------------------
> InverseFunction::ifun: 
>    Inverse functions are being used. Values may be lost for multivalued
>     inverses.
> 
> Solve::ifun: Inverse functions are being used by Solve, so some solutions may
>      not be found.
> 
> In[5]:= 
> Out[5]//TableForm= W -> 7000.   y -> -1.95839
> 
>                    W -> 7000.   y -> 1.95839
> 
>                    W -> 7000.   y -> -1.1832
> 
>                    W -> 7000.   y -> 1.1832
> -------------------------------------------------------------------------
> 
> which is useful and the kind of result i am after. however, after
> upgrading to mathematica 5.0 the same bit of code gives:
> 
> -------------------------------------------------------------------------
> Solve::tdep: The equations appear to involve the variables to be solved for in
>     an essentially non-algebraic way.
> 
> In[5]:= 
> -------------------------------------------------------------------------
> 
> now i read in the manual that Solve "deals primarily with linear and
> polynomial equations", but i would expect that if i got a useful answer
> with 4.1 i should get the same (or better!) with 5.0.
> 
> is there some way of getting the old behaviour with the newer version of
> mathematica?
> 
> many thanks and best regards,
> andrew collier.


  • Prev by Date: now, while loops construct errors
  • Next by Date: Re: reduced functionality of Solve
  • Previous by thread: Re: reduced functionality of Solve
  • Next by thread: trigger events