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

MathGroup Archive 2009

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

Search the Archive

Rearranging & Restructuring Lists: Changing pattern order in

  • To: mathgroup at smc.vnet.net
  • Subject: [mg98788] Rearranging & Restructuring Lists: Changing pattern order in
  • From: mediatalk <nick.maj at mssm.edu>
  • Date: Sun, 19 Apr 2009 04:54:16 -0400 (EDT)

Introduction:

Pattern A is based on the square of "a" and consists of "aSqrA": "a" repeated "Quotient[a*a,a]" times, bSqrA: "b...b(a-b+1)" repeated "(a+b)/b" times with each aditional "b" shifted by "a", and rSqrA: the result of Union[aSqrA,bSqrA]. 

Pattern B is based on the common product of "a" and "b" and consists of "aCp": "a" repeated "b" times, bCp: "b" repeated "a" times , and rCp: the result of Union[aCp,bCp]. Pattern B is shifted by "a*a".

Timeline view with a = 5, b = 2. x's representing the start time.

xooooxooooxooooxooooxooooxooooxoooo = a
xoxoxoxoxooooooooooooooooxoxoxoxoxo = b
oooooxoxoxoxoxooooooooooooooooooooo = b2
ooooooooooxoxoxoxoxoooooooooooooooo = b3
oooooooooooooooxoxoxoxoxooooooooooo = b4
xoxoxxxxxxxxxxxxxxxxxxoxoxoxoxxxoxo = r


a = 5; b = 2;

(*  Pattern A , Start = 0, End = a*a  -----------------------------*)

aSqrA = Flatten[Table[Partition[Range[
      i , a ^2 + i, a], 2, 1], {i, 0, a ^2 - 1 , a ^2}], 1];

bSqrA = Table[Flatten[Table[Partition[Range[
       i , a*b + i, b], 2, 1], {i, j a, a ^2 - 1, a ^2}], 1], {j, 0, 
    a - b, 1}];

rSqrA = Flatten[Table[Partition[Union[Range[
       i, a ^2 + i , a], Flatten[bSqrA, 1][[All, 1]]], 2, 1], {i, 0, 
     a ^2 - 1, a ^2}], 1];

(*  Pattern B , Start = 0+a*a, End = a*a+a*b  ----------------------*)

aCp = Flatten[Table[Partition[Range[
      i , a*b + i, a], 2, 1], {i, a ^2, (a*b - 1) + a ^2, a*b}], 1];

bCp = Flatten[Table[Partition[Range[
      i , a*b + i, b], 2, 1], {i, a ^2, (a*b - 1) + a ^2, a*b}], 1];

rCp = Flatten[Table[Partition[Union[Flatten[Range[
        i, a*b + i, {a, b}]]], 2, 1], {i, a ^2, (a*b - 1) + a ^2, 
     a*b}], 1];

(*  Pattern A and B ------------------------------------------*)

Join[aSqrA, aCp]
Union[Flatten[bSqrA, 1], bCp]
Join[rSqrA, rCp]


Problem:

How can I reverse the pattern order so that B starts and A comes after B.
I need the output of each generator. (aSqrA, aCp... etc.)

Thanks in advance, Nick.


  • Prev by Date: Re: Export / pipe problems
  • Next by Date: Re: Passing arrays to MathLink without extra memory allocation
  • Previous by thread: Re: 3D plots and using mouse click-drag to rotate - why the extra
  • Next by thread: representing the dihedral group {1,r,r^2...s,sr^2...}