Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1997
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1997

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

Search the Archive

Re: Combining several pure functions into a single pure function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg7287] Re: [mg7262] Combining several pure functions into a single pure function
  • From: penny at suu.edu (Des Penny)
  • Date: Thu, 22 May 1997 09:19:38 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

>I am working with a little program that generates several pure
>functions which are "Boolean" in nature -- i.e., each of them, when
>applied to an argument, evaluates to True or False.  These functions,
>when they are initially produced, are connected with logical operators
>-- for example:
>
>        (Function[x,Plus[x]>9] && Function[x,Length[x]==4]) ||
>        (Function[x,Plus[x]<3] && Function[x,Length[x]==6])
>
>In this form, however, they are useless since, as a group, they do not
>constitute a pure function and cannot be applied to an argument.
>Thus, I need to convert the foregoing into a single pure Boolean
>function, which would (using the above example) look like this:
>
>        Function[x,(Plus[x]>9 && Length[x]==4) ||
>        (Plus[x]<3 && Length[x]==6)]




Hi Robert:

Is this what you need?


=================================================
test=
(((Plus @@ #  >9) && (Length[#]==4)) || ((Plus @@ #  >3)&&(Length[#]==6)))&;


test[{1,-2,3,1,1,1}]

Out: True
=================================================


I was initially confused about x in your code.  I finally decided that it
had to be a list.  However Plus[{1,2}], returns {1,2}.  I believe what you
need is the Apply function:

Apply[Plus,{1,2}]

Which returns 3.

This can also be written:  Plus @@ {1,2}.  This is the form I've used above.

Hope this helps.

Cheers,

Des Penny


-------------------------------
Des Penny
Physical Science Dept.
Southern Utah University
Cedar City, UT 84720

VOICE: (Office): (801) 586-7708
       (Home)  : (801) 586-2286
FAX:    (801) 865-8051
e-mail: penny at suu.edu
-------------------------------




  • Prev by Date: Re: Font-Installation ?
  • Next by Date: Re: Re: Re: bug in Mathematica 3.0 ?
  • Previous by thread: Re: Combining several pure functions into a single pure function
  • Next by thread: Re: Combining several pure functions into a single pure function