help on sublists xor
- To: mathgroup at smc.vnet.net
- Subject: [mg52506] help on sublists xor
- From: "gimbo20032003 at libero.it" <gimbo20032003 at libero.it>
- Date: Tue, 30 Nov 2004 05:24:11 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
hi. i'm trying to implement a way to mark all binary lists in which three non overlapping sublists of the same length(of length >= 3) a, b, and c , where c is the result of xor of a and b, in all way they can present (orderless). But it don't work , specially orderless. somebody can help me? any help will be apreciate. giorgio ZeroPad[x__] :=(*Takes Transpose after zero - padding*)Module[{l, y = Map[(# /. d_Integer :> IntegerDigits[d, 2]) &, {x}]}, l = Map[Length, y]; Transpose[MapThread[Join[Table[0, {Max[l] - #1}], #2] &, {l, y}]]] BitwiseXor[x__] := Flatten[Apply[Mod[Plus[##], 2] &, ZeroPad[x], {1}]] << DiscreteMath`Combinatorica` SetAttributes[mm, Orderless] mmQ[t1, t2, t3] := True /; (BitwiseXor[t1, t2] == t3) && (Length[t1] = 3) && ( Length[t2] = 3) && (Length[t3] = 3) m[{x1___, a1__, x2___, a2__, x3___, a3__, x4___}] := {} /; mmQ[{a1}, { a2}, {a3}] m[l_] := l t1 = Strings[{0, 1}, 10]; Rest[Union[Map[m, t1]]]