Re: problem with very slow matrix function

• To: mathgroup at smc.vnet.net
• Subject: [mg50930] Re: problem with very slow matrix function
• From: Roger Bagula <tftn at earthlink.net>
• Date: Tue, 28 Sep 2004 00:58:47 -0400 (EDT)
• Organization: tftn/bmftg
• References: <cj86j8\$782\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Adding one simple " A[n]=" seems to be the answer from three sources:
A[n_]:=A[n]=If[(Max[Eigenvalues[A[n-1]]])<12, M.A[n-1],A[Floor[(n-1)/2]]]

Such a step was in my Fibonacci definition I found years ago, but I never knew it
had a reason in mathematica's cache way of calculation until now.
I want to thank the people who responded.

No one has said anything about the Random[] qualifier problem yet...

Roger Bagula wrote:

>Mathematica will do this function, but only very slowly...
>Thsat limits the number of values and how big I can make my critical point.
>I'd like a better , faster expression to do this kind of matrix
>switching function.
>I'm also looking for a way to make the switch depend on a random
>level as well (&& / And).
>I tried a version and it ignorred the second "and" implicit
>and did it on only the first implicit expression.
>As I want to do this on higher matrix level Bonacci/ Pisot
>systems, I would appreciate any help.
>
>(*  2by2 Markov sequence Critical Eigenvalue collapse of   golden mean*)
>digits=19
>M={{0,1},{1,1}}
>Det[M]
>A[n_]:=If[(Max[Eigenvalues[A[n-1]]])<12, M.A[n-1],A[Floor[(n-1)/2]]];
>A[0]:={{0,1},{1,1}};
>(* Critical Eigenvalue collapse at 12 of 2by2 matrices made with  golden
>mean  recurrence*)
>b=Flatten[Table[A[n],{n,0,digits}]]
>ListPlot[b,PlotJoined->True,PlotRange->All]
>
>{0,1,1,1,1,1,1,2,1,2,2,3,2,3,3,5,3,5,5,8,5,8,8,13,1,2,2,3,2,3,3,5,3,5,5,8,5,8,
>
>8,13,3,5,5,8,5,8,8,13,5,8,8,13,1,2,2,3,2,3,3,5,3,5,5,8,5,8,8,13,3,5,5,8,5,8,
>  8,13,5,8,8,13}
>Respectfully, Roger L. Bagula
>
>URL :  http://victorian.fortunecity.com/carmelita/435/
>
>
>

--
Respectfully, Roger L. Bagula