Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Re: How to simplify this code with variable number of

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124316] Re: How to simplify this code with variable number of
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Mon, 16 Jan 2012 17:15:23 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201201150951.EAA19677@smc.vnet.net>

iter[0] = {a[0], 1, 1};

iter[n_Integer?Positive] = {a[n], a[n - 1] + 1, 2 n - 1};

g = 2;

Table[f @@ Table[a[k], {k, 0, g}],
  Evaluate[Sequence @@ Table[iter[k], {k, 0, g}]]] //
 Flatten[#, g] &

{}

The iterators upper bounds are lower than the corresponding lower
bounds, so the iterations are empty

With a different definition for the iterators

iter[n_Integer?Positive] = {a[n], a[n - 1], 2 n - 1};

Table[f @@ Table[a[k], {k, 0, g}],
  Evaluate[Sequence @@ Table[iter[k], {k, 0, g}]]] //
 Flatten[#, g] &

{f[1, 1, 1], f[1, 1, 2], f[1, 1, 3]}

Or

iter[n_Integer?Positive] = {a[n], a[n - 1] + 1, 2 n + 1};

Table[f @@ Table[a[k], {k, 0, g}],
  Evaluate[Sequence @@ Table[iter[k], {k, 0, g}]]] //
 Flatten[#, g] &

{f[1, 2, 3], f[1, 2, 4], f[1, 2, 5], f[1, 3, 4], f[1, 3, 5]}


Bob Hanlon

On Sun, Jan 15, 2012 at 4:51 AM, Rex <aoirex at gmail.com> wrote:
> Considering an array a[i], i=0,1,...,g, where g could be any given
> number, and a[0]=1.
>
>    for a[1]=a[0]+1 to 1 do
>        for a[2]=a[1]+1 to 3 do
>           for a[3]=a[2]+1 to 5 do
>             ......
>              for a[g]=a[g-1]+1 to 2g-1 do
>                ###some computations here###
>
> The problem is that everytime we change the value of g, we need to
> modify the code, those loops above. So this is not a good code.
>
> Any advice would be greatly appreciated.
>



  • Prev by Date: Re: without individual scaling?
  • Next by Date: Works in 7.0.1, not in 8.0.4 ??
  • Previous by thread: Re: How to simplify this code with variable number of nesting loops?
  • Next by thread: Re: How to simplify this code with variable number of