Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

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

Search the Archive

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>
  • Reply-to: tftn at earthlink.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. 
It pays to ask questions.

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
>
>tftn at earthlink.net, 11759Waterhill Road, Lakeside,Ca 92040-2905,tel: 619-5610814 :
>URL :  http://home.earthlink.net/~tftn
>URL :  http://victorian.fortunecity.com/carmelita/435/ 
>
>  
>

-- 
Respectfully, Roger L. Bagula
tftn at earthlink.net, 11759Waterhill Road, Lakeside,Ca 92040-2905,tel: 619-5610814 :
URL :  http://home.earthlink.net/~tftn
URL :  http://victorian.fortunecity.com/carmelita/435/ 



  • Prev by Date: Re: Re: Telling Mathematica that a symbol is going to be a List?
  • Next by Date: Re: Q: Symbolize: How to create a table of indexed symbols?
  • Previous by thread: Re: problem with very slow matrix function
  • Next by thread: Re: problem with very slow matrix function