MathGroup Archive 2003

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

Search the Archive

Re: reduced functionality of Solve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg44239] Re: [mg44222] reduced functionality of Solve
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Fri, 31 Oct 2003 03:01:05 -0500 (EST)
  • References: <200310290834.DAA05917@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 29 Oct 2003, at 17:34, Andrew Collier wrote:

> 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.
>
> -- 
> Andrew B. Collier
> Antarctic Research Fellow                         tel: +27 31 2601157
> Space Physics Research Institute                  fax: +27 31 2616550
> University of Natal, Durban, 4041, South Africa
>
>
>

On the contrary, the functionality of Mathematica in this area has been  
considerably enhanced. But what has happened at the same time is that  
Solve has given up moonlighting as a general purpose solver and  
returned to its day job as an algebraic solver. The other job has been  
taken over by Reduce, that does it in a proper professional manner:


F[W_, y_] := Exp[(-W)*(Cos[y]^2/Tp + Sin[y]^2/Tn)]

Tn = 3000;
Tp = 2000;

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


W == 7000 && C[1] $B":(B Integers &&
   (y == 2*Pi*C[1] -
      2*ArcTan[Sqrt[(1/3)*(4 - Sqrt[7])]] ||
    y == 2*Pi*C[1] +
      2*ArcTan[Sqrt[(1/3)*(4 - Sqrt[7])]] ||
    y == 2*Pi*C[1] -
      2*ArcTan[Sqrt[(1/3)*(4 + Sqrt[7])]] ||
    y == 2*Pi*C[1] + 2*ArcTan[Sqrt[(1/3)*(4 + Sqrt[7])]])




Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/


  • Prev by Date: Re: reduced functionality of Solve
  • Previous by thread: reduced functionality of Solve
  • Next by thread: Re: reduced functionality of Solve