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.
> *******************************************************************)
>
>
>
>