Re: rules on vector sequence
- To: mathgroup at smc.vnet.net
- Subject: [mg98083] Re: [mg98018] rules on vector sequence
- From: Filippo Miatto <sottosupremo at gmail.com>
- Date: Sun, 29 Mar 2009 02:48:58 -0500 (EST)
- References: <200903281041.FAA04380@smc.vnet.net> <op.urix2tgitgfoz2@bobbys-imac.local>
wow i have to study how this works! ; ) thanks a lot! On Mar 28, 2009, at 11:57 PM, DrMajorBob wrote: > Here's a solution: > > Clear[sums, insertions] > insertions[x : {__List}] := Union @@ insertions /@ x > insertions[x_List] := Union[Insert[x, 0, #] & /@ Range[1 + Length@x]] > sums[1] = {}; > sums[2] = {{-2, 2}, {-1, 1}, {1, -1}, {2, -2}}; > sums[4] = Module[{nonZero = {-2, -1, 1, 2}}, > Union @@ > Permutations /@ > Join[Select[Tuples@{nonZero, nonZero, nonZero, nonZero}, > 0 == Total@# &], insertions@insertions@sums@2] > ]; > sums[len_?Positive] := sums[len] = insertions@sums[len - 1] > > Timing[Length@sums@17] > > {7.9271, 86224} > > sums@3 > > {{-2, 0, 2}, {-2, 2, 0}, {-1, 0, 1}, {-1, 1, 0}, {0, -2, 2}, {0, -1, > 1}, {0, 1, -1}, {0, 2, -2}, {1, -1, 0}, {1, 0, -1}, {2, -2, 0}, {2, > 0, -2}} > > Length@sums@4 > > 60 > > Length@sums@5 > > 220 > > s6 = sums@6; > Length@s6 > Total /@ s6 // Union > Total /@ Unitize@s6 // Union > Length@s6 == Length@Union@s6 > > 600 > > {0} > > {2, 4} > > True > > Bobby > > > On Sat, 28 Mar 2009 05:41:26 -0500, Filippo Miatto <sottosupremo at gmail.com > > wrote: > >> Dear all, >> I need to generate all the vectors, of a given length N, that have >> these three properties: >> >> 1- the entries have to be among -2,-1,0,1,2 >> 2- the sum of all the entries has to be 0 >> 3- only two or four of the entries can be different from 0 >> >> do you have any suggestions on how i can do that? i tried something >> but without success.. expecially i don't know how to implement the >> third rule.. >> thank you in advance! >> Filippo >> > > > > -- > DrMajorBob at bigfoot.com
- References:
- rules on vector sequence
- From: Filippo Miatto <sottosupremo@gmail.com>
- rules on vector sequence