Re: Testing the 'type' of a root returned by Solve
- To: mathgroup at smc.vnet.net
- Subject: [mg54677] Re: [mg54626] Testing the 'type' of a root returned by Solve
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Fri, 25 Feb 2005 01:20:07 -0500 (EST)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
eqn=20*Feet^3==(4*Pi*r^3)/5; Select[r /.Solve[eqn,r], Im[#/Feet]==0&] {(5^(2/3)*Feet)/Pi^(1/3)} %==Select[r /.Solve[eqn,r], #/Feet==Re[#/Feet]&] True %%==Select[r /.Solve[eqn,r], FreeQ[N[#/Feet],Complex]&] True Since r must be nonnegative %%%==Select[r /.Solve[eqn,r], #/Feet==Abs[#/Feet]&] True Bob Hanlon > > From: Mike Witt <mwNOSPAM at mu.uoregon.edu> To: mathgroup at smc.vnet.net > Date: 2005/02/24 Thu AM 03:21:30 EST > To: mathgroup at smc.vnet.net > Subject: [mg54677] [mg54626] Testing the 'type' of a root returned by Solve > > > If I solve an equation in which the solutions turn out > to be functions of some variable, I can't figure out how > to pick out one of the roots based on whether the root is > real or complex. > > The problem is that Head[] reports that the roots are > all "Times" because of the variable in them. > > The following notebook demonstrates. Can someone tell me > the right way to do this (or point me to the right place > in the book or help pages?) > > For private email remove the NOSPAM. > > -Mike > > > filename="foo.nb" > > (************** Content-type: application/mathematica ************** > CreatedBy='Mathematica 5.0' > > Mathematica-Compatible Notebook > > This notebook can be used with any Mathematica-compatible > application, such as Mathematica, MathReader or Publicon. The data > for the notebook starts with the line containing stars above. > > To get the notebook into a Mathematica-compatible application, do > one of the following: > > * Save the data starting with the line of stars above into a file > with a name ending in .nb, then open the file inside the > application; > > * Copy the data starting with the line of stars above to the > clipboard, then use the Paste menu command inside the application. > > Data for notebooks contains only printable 7-bit ASCII and can be > sent directly in email or through ftp in text mode. Newlines can be > CR, LF or CRLF (Unix, Macintosh or MS-DOS style). > > NOTE: If you modify the data for this notebook not in a Mathematica- > compatible application, you must delete the line below containing > the word CacheID, otherwise Mathematica-compatible applications may > try to use invalid cache data. > > For more information on notebooks and Mathematica-compatible > applications, contact Wolfram Research: > web: http://www.wolfram.com > email: info at wolfram.com > phone: +1-217-398-0700 (U.S.) > > Notebook reader applications are available free of charge from > Wolfram Research. > *******************************************************************) > > (*CacheID: 232*) > > > (*NotebookFileLineBreakTest > NotebookFileLineBreakTest*) > (*NotebookOptionsPosition[ 2544, 85]*) > (*NotebookOutlinePosition[ 3174, 107]*) > (* CellTagsIndexPosition[ 3130, 103]*) > (*WindowFrame->Normal*) > > > > Notebook[{ > Cell["\<\ > I want to be able to select the 'real' root using the 'Head' \ > function, like this:\ > \>", "Text", > FontSize->14], > > Cell[CellGroupData[{ > > Cell[BoxData[ > \(Head /@ \((r /. \ \((Solve[20 == \(4\ \[Pi]\ r\^3\)\/5, \ r] // > N)\))\)\)], "Input"], > > Cell[BoxData[ > \({Complex, Complex, Real}\)], "Output"] > }, Open ]], > > Cell["\<\ > But when I add a variable, then the 'type' of every root becomes \ > 'Times' because of the product of the variable and the number. Is 'Head' the \ > wrong way to do this?\ > \>", "Text", > FontSize->14], > > Cell[CellGroupData[{ > > Cell[BoxData[ > \(Head /@ \((r /. \((\ > Solve[20 Feet\^3 == \(4\ \[Pi]\ r\^3\)\/5, \ r] // > N)\))\)\)], "Input"], > > Cell[BoxData[ > \({Times, Times, Times}\)], "Output"] > }, Open ]] > }, > FrontEndVersion->"5.0 for X", > ScreenRectangle->{{0, 1280}, {0, 1024}}, > WindowSize->{520, 600}, > WindowMargins->{{Automatic, 24}, {69, Automatic}} > ] > > (******************************************************************* > Cached data follows. If you edit this Notebook file directly, not > using Mathematica, you must remove the line containing CacheID at > the top of the file. The cache data will then be recreated when > you save this file from within Mathematica. > *******************************************************************) > > (*CellTagsOutline > CellTagsIndex->{} > *) > > (*CellTagsIndex > CellTagsIndex->{} > *) > > (*NotebookFileOutline > Notebook[{ > Cell[1754, 51, 123, 4, 52, "Text"], > > Cell[CellGroupData[{ > Cell[1902, 59, 119, 2, 51, "Input"], > Cell[2024, 63, 58, 1, 27, "Output"] > }, Open ]], > Cell[2097, 67, 207, 5, 71, "Text"], > > Cell[CellGroupData[{ > Cell[2329, 76, 141, 3, 51, "Input"], > Cell[2473, 81, 55, 1, 27, "Output"] > }, Open ]] > } > ] > *) > > > > (******************************************************************* > End of Mathematica Notebook file. > *******************************************************************) > > > >