MathGroup Archive 2010

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

Search the Archive

Re: Generalization of Variables ?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg109251] Re: Generalization of Variables ?
  • From: Jack L Goldberg 1 <jackgold at umich.edu>
  • Date: Mon, 19 Apr 2010 02:49:50 -0400 (EDT)

Thanks Bob.

I replaced "Infinity" in your code with "{-1}" and got a nice decrease  
in execution time.

Jack


Quoting Bob Hanlon <hanlonr at cox.net>:

>
> variables[expr_] :=
>  Union[
>   Cases[
>    expr, _Symbol?(! NumericQ[#] &), Infinity]]
>
> expr = x + E^y + Sin[x*Pi];
>
> variables[expr]
>
> {x,y}
>
>
> Bob Hanlon
>
> ---- Jack L Goldberg 1 <jackgold at umich.edu> wrote:
>
> =============
> Hi Folks,
>
> The built-in command "Variables" does not give the (naively expected)
> answer when it is called with functions such as x + Sin[x].  This
> behavior is mentioned in the description of "Variables".
> I have constructed a generalization of "Variables" which works as
> expected - I think?  I would appreciated a critique of this code which
> addresses these issues:
>
> a) Is there a situation in which it fails?
>
> b) If the code works, can it be improved.
>
> Question b) is asked because I am not fully acquainted with all of
> Mathematica's commands.
>
> Here is the code.
>
> variables[f_]:= Flatten[
>                         Union[
>                              Cases[
>                                     Map[N,Level[f,{-1},z_Symbol]]/.True->{}
>                                             ]
>
> I have tried "variables" on functions coded in the obvious manner, say,
> Sin[x]+Exp[x^2],  Sin[x+y]-z^2, etc. and a few esoteric examples.
>
> Jack
>
>
>
>
>




  • Prev by Date: Re: Beta testers wanted for RootSearch package
  • Next by Date: Re: Generalization of Variables ?
  • Previous by thread: Re: Generalization of Variables ?
  • Next by thread: Re: Generalization of Variables ?