MathGroup Archive 2006

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

Search the Archive

Re: need to make a special function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg68330] Re: need to make a special function
  • From: Paul Abbott <paul at physics.uwa.edu.au>
  • Date: Tue, 1 Aug 2006 07:00:02 -0400 (EDT)
  • Organization: The University of Western Australia
  • References: <eakec7$qvd$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

In article <eakec7$qvd$1 at smc.vnet.net>,
 "Nabeel Butt" <nabeel.butt at gmail.com> wrote:

>         I need help on making a special type of function which has the
> following properties.
>    f[1]={{0},{1}}
>    f[2]={{0,0},{0,1},{1,0},{1,1}}
>    f[3]={{0,0,0},{0,0,1},{0,1,0},{0,1,1},{1,0,0},{1,0,1},{1,1,0},{1,1,1}}
> .............so on you can see the pattern emerging.

Clearly the (padded) binary digits of 0, 1, ..., 2^n - 1.

 f[n_Integer] := IntegerDigits[Range[0, 2^n - 1], 2, n]

 f[3]

 {{0, 0, 0}, {0, 0, 1}, {0, 1, 0}, {0, 1, 1}, 
  {1, 0, 0}, {1, 0, 1}, {1, 1, 0}, {1, 1, 1}}

Here is another solution, based on Outer:

 f[n_Integer] := Flatten[Outer[List, Sequence @@ Table[{0,1},{n}]], n-1]

>  I need a very efficient code to perform the above evaluation in some
> optimization problem.

It might be helpful to know how you will be using f, and what the 
optimization problem is -- because there could be a way of avoiding 
computing f.

Cheers,
Paul

_______________________________________________________________________
Paul Abbott                                      Phone:  61 8 6488 2734
School of Physics, M013                            Fax: +61 8 6488 1014
The University of Western Australia         (CRICOS Provider No 00126G)    
AUSTRALIA                               http://physics.uwa.edu.au/~paul


  • Prev by Date: Re: Replacing Numbers in a List
  • Next by Date: Re: Using implicit information about row indices
  • Previous by thread: RE: need to make a special function
  • Next by thread: Re: need to make a special function