MathGroup Archive 2000

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

Search the Archive

Re: Use of Miscellaneous`RealOnly` Package

  • To: mathgroup at smc.vnet.net
  • Subject: [mg25288] Re: Use of Miscellaneous`RealOnly` Package
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Tue, 19 Sep 2000 03:45:12 -0400 (EDT)
  • Organization: Universitaet Leipzig
  • References: <8q21ps$hpf@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi David,

this is one of the grimiest tricks I have ever made.
Look into the NonReal package. The rule added to Solve 
Roots is

Miscellaneous`RealOnly`Private`x_ == _?!(FreeQ[Chop[N[#1]], _Complex])
&) :> 
    Miscellaneous`RealOnly`Private`x == Nonreal;

and you can switch it off by 

Needs["Miscellaneous`RealOnly`"]

Block[{
    Miscellaneous`RealOnly`Private`NonrealRule = a_ :> a, 
    Miscellaneous`RealOnly`Nonreal = 
      Miscellaneous`RealOnly`Nonreal`Private`x},
  F[u_, v_] := {u^3, v - u};
  eqns = Thread[F[u, v] == {x, y}];
  {u^3 == x, -u + v == y};
  sols = Solve[eqns, {u, v}][[1]]
  ]

that simply turn the replacement into an identity tansformation.

Hope that helps
  Jens

David Park wrote:
> 
> Dear MathGroup,
> 
> Is it possible to turn the Miscellaneous`RealOnly` package on and off?
> Consider the following problem. I want to find the inverse of the following
> function:
> 
> F[u_, v_] := {u^3, v - u}
> 
> eqns = Thread[F[u, v] == {x, y}]
> {u^3 == x, -u + v == y}
> 
> sols = Solve[eqns, {u, v}][[1]]
> {v -> x^(1/3) + y, u -> x^(1/3)}
> 
> If the above Solve is done with the RealOnly package active, it fails and
> gives Nonreal for the answers. So I definitely don't want it active at this
> point. Now I define the inverse:
> 
> FI[x_, y_] = ({u, v} /. sols)
> {x^(1/3), x^(1/3) + y}
> 
> Now when I evaluate
> 
> FI[-10, -10] // N
> {1.077217345015942 + 1.865795172362064*I, -8.922782654984058 +
>    1.865795172362064*I}
> 
> I obtain the complex root, so I need to load RealOnly package.
> 
> << Miscellaneous`RealOnly`
> FI[-10, -10] // N
> {-2.15443, -12.1544}
> 
> So sometimes I want it, and sometimes I don't want it. But there seems no
> way to get rid of it other than quitting the kernel.
> 
> Does anyone have any suggestions, or a smoother way to do this problem?
> 
> David Park
> djmp at earthlink.net
> http://home.earthlink.net/~djmp/


  • Prev by Date: Simultaneous equations
  • Next by Date: Re: Random spherical troubles
  • Previous by thread: Re: Use of Miscellaneous`RealOnly` Package
  • Next by thread: Re: List of Interpolated functions inside plot