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/
- References:
- reduced functionality of Solve
- From: Andrew Collier <colliera@nu.ac.za>
- reduced functionality of Solve