Re: When Wolfram's technical support cannot help
- To: mathgroup at smc.vnet.net
- Subject: [mg105286] Re: [mg105255] When Wolfram's technical support cannot help
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Wed, 25 Nov 2009 23:04:08 -0500 (EST)
- References: <200911251114.GAA13425@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
rule = {___, Shortest[x__], x__} :> {x};
{1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3} /. rule
{5, 9, 11, 8, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3} /. rule
{1, 2, 3}
{1, 2, 3}
You can experiment with Longest, if this doesn't satisfy all your needs.
rule2 = {___, Longest[x__], x__} :> {x};
{1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3} /. rule2
{5, 9, 11, 8, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3} /. rule2
{1, 2, 3, 1, 2, 3}
{1, 2, 3, 1, 2, 3}
Or:
rule2 = {___, Longest[x__], x__} :> {x};
{1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3} //. rule2
{5, 9, 11, 8, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3} //. rule2
{1, 2, 3}
{1, 2, 3}
Bobby
On Wed, 25 Nov 2009 05:14:07 -0600, Ant King <mathstutoring at ntlworld.com>
wrote:
> Hi
>
> I sent this email to technical support (as I hold a premier licence)
>
> I am looking for a single function that will extract the cyclic part of
> (a)
> a completely cyclic sequence and (b) an eventually cyclic sequence. So if
>
> data1={1,2,3,1,2,3,1,2,3,1,2,3} then cyclicpart[data1] should return
> {1,2,3}
>
> And if
>
> data2={5,9,11,8,1,2,3,1,2,3,1,2,3,1,2,3} then cyclicpart[data2] should
> also
> return {1,2,3}
>
> And this was the reply that I got
>
> Here is one way to extract out the cyclic part:
>
> lis = Flatten[Join[Table[{1, 2, 3}, {8}]]]
>
> p = Position[Table[BitXor[lis, RotateLeft[lis, i]], {i, 1, 10}],
> ConstantArray[0, Length[lis]]][[1]] /. {a_} -> a
> lis[[1 ;; p]]
>
> The above however will only work for case where the list always contains
> the repeated pattern.
>
> There is no built-in function as such that will extract out the pattern
> automatically. I have filed a suggestion with our developers and you will
> be notified when this suggestion gets implemented. Again, my apologies
> for
> the delay and my thanks for your patience.
>
> Now I don't believe that. I think that it should be quite achievable.
> Anyone
> got any ideas
>
> Thanks a lot
>
> Ant
>
--
DrMajorBob at yahoo.com
- References:
- When Wolfram's technical support cannot help
- From: "Ant King" <mathstutoring@ntlworld.com>
- When Wolfram's technical support cannot help