Re: problem with very slow matrix function
- To: mathgroup at smc.vnet.net
- Subject: [mg50940] Re: problem with very slow matrix function
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Tue, 28 Sep 2004 00:59:19 -0400 (EDT)
- Organization: The University of Western Australia
- References: <cj86j8$782$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <cj86j8$782$1 at smc.vnet.net>,
Roger Bagula <tftn at earthlink.net> 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]]];
Use dynamic programming! That is, change this definition to
A[n_]:=A[n]=If[(Max[Eigenvalues[A[n-1]]])<12, M.A[n-1],A[Floor[(n-1)/2]]]
Cheers,
Paul
--
Paul Abbott Phone: +61 8 6488 2734
School of Physics, M013 Fax: +61 8 6488 1014
The University of Western Australia (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://physics.uwa.edu.au/~paul