[Maxima] eigenvalues problem
Stefano Ferri
ferriste at gmail.com
Tue Aug 25 06:43:17 CDT 2009
Hi, I've tryed with your matrix B and Maxima can compute eigenvalues,
but results are really long expressions, so most of the time is spent
printing the result. Only calculation took 16.8 seconds on an athlon
1900+, without printing the output. Output printing took about 4-5
minutes. Try with
eigenvalues(B)$
instead of eigenvalues(B);
I had no problem with your matrix C, no errors. Wich version of Maxima
are you using? Now I'm with Maxima 5.18.1, compiled with CLISP.
Stefano
2009/8/25 Bernhard Stoevesandt <bernhard.stoevesandt at uni-oldenburg.de>:
> Hi everyone,
>
> well, i do have a rather complicated matrix of which i would like to
> optain the eigenvalues. The problem is with maxima i don't get them.
> Here is what i do:
>
> (%i1) B:matrix([2*(m1*m1+m2*m4+m3*m7),m3*m8 + m6*m7 + m4*m5 + m2*m5 +
> m1*m4 + m1*m2,m1*m3+m1*m7+m2*m6+m4*m8+m3*m9+m7*m9], [m3*m8 + m6*m7 +
> m4*m5 + m2*m5 +
> m1*m4+m1*m2,2*(m5*m5+m2*m4+m6*m8),m2*m7+m4*m3+m5*m6+m5*m8+m6*m9+m8*m9]
> ,[m1*m3+m1*m7+m2*m6+m4*m8+m3*m9+m7*m9,m2*m7+m4*m3+m5*m6+m5*m8+m6*m9+m8*m9,2*(m9*m9+m3*m7+m6*m8)]);
> [ 2 ]
> [ 2 (m3 m7 + m2 m4 + m1 ) ]
> (%o1) Col 1 = [ ]
> [ m3 m8 + m6 m7 + m4 m5 + m2 m5 + m1 m4 + m1 m2 ]
> [ ]
> [ m7 m9 + m3 m9 + m4 m8 + m1 m7 + m2 m6 + m1 m3 ]
> [ m3 m8 + m6 m7 + m4 m5 + m2 m5 + m1 m4 + m1 m2 ]
> [ ]
> Col 2 = [ 2 ]
> [ 2 (m6 m8 + m5 + m2 m4) ]
> [ ]
> [ m8 m9 + m6 m9 + m5 m8 + m2 m7 + m5 m6 + m3 m4 ]
> [ m7 m9 + m3 m9 + m4 m8 + m1 m7 + m2 m6 + m1 m3 ]
> [ ]
> Col 3 = [ m8 m9 + m6 m9 + m5 m8 + m2 m7 + m5 m6 + m3 m4 ]
> [ ]
> [ 2 ]
> [ 2 (m9 + m6 m8 + m3 m7) ]
>
> if i type in:
>
> (%i2) eigenvalues(B);
>
> nothing happens. I mean nothing. I can still type, but i don't get any
> output. I i want to kill the process, there is no process to kill. Also,
> i cannot type in any new command. There is no promt. So i have to restart.
> Now, maybe this is to complicated. So i did:
>
> (%i1) C:matrix([2*(m1*m1+m2*m4+m3*m7),2,3],[4,5,6],[7,8,9]);
> (%i2) A:eigenvalues(C);
>
> i get:
> sqrt(3) %i 1 - 3/2 4 4
> (%o2) [[(- ---------- - -) expt(3 sqrt(- 3328 m3 m7
> 2 2
> 3 2 3 3
> - (13312 m2 m3 m4 + (13312 m1 - 53184) m3 ) m7
> 2 2 2 2 2
> - (19968 m2 m3 m4 + (39936 m1 - 159552) m2 m3 m4
> 4 2 2 2
> + (19968 m1 - 159552 m1 + 351300) m3 ) m7
> 3 3 2 2 2
> - (13312 m2 m3 m4 + (39936 m1 - 159552) m2 m3 m4
> 4 2
> + (39936 m1 - 319104 m1 + 702600) m2 m3 m4
> 6 4 2 4 4
> + (13312 m1 - 159552 m1 + 702600 m1 - 519140) m3) m7 - 3328 m2 m4
> 2 3 3 4 2 2 2
> - (13312 m1 - 53184) m2 m4 - (19968 m1 - 159552 m1 + 351300) m2 m4
> 6 4 2 8
> 6
> - (13312 m1 - 159552 m1 + 702600 m1 - 519140) m2 m4 - 3328 m1 +
> 53184 m1
> 4 2 3 3
> - 351300 m1 + 519140 m1 - 274413)/2 + (16 m3 m7
> 2 2
> + m2 (48 m3 m4 m7 - 336 m3 m4 m7 - 762 m4)
> 2 2 2 2 2
> + m1 (48 m3 m7 + m2 (96 m3 m4 m7 - 336 m4) - 336 m3 m7 + 48 m2 m4
> - 762)
> 2 2 2 2 2 4
> - 168 m3 m7 + m2 (48 m3 m4 m7 - 168 m4 ) + m1 (48 m3 m7 + 48 m2 m4
> - 168)
> 3 3 6 1
> - 762 m3 m7 + 16 m2 m4 + 16 m1 + 9601)/54, -)
> 3
> sqrt(3) %i 1 2 2
> + (---------- - -) (4 m3 m7 + m2 (8 m3 m4 m7 - 28 m4)
> 2 2
> 2 2 2 4
> + m1 (8 m3 m7 + 8 m2 m4 - 28) - 28 m3 m7 + 4 m2 m4 + 4 m1 + 292)
> - 3/2 4 4 3
> /(9 expt(3 sqrt(- 3328 m3 m7 - (13312 m2 m3 m4
> 2 3 3 2 2 2
> + (13312 m1 - 53184) m3 ) m7 - (19968 m2 m3 m4
> 2 2 4 2
> 2 2
> + (39936 m1 - 159552) m2 m3 m4 + (19968 m1 - 159552 m1 + 351300) m3
> ) m7
> 3 3 2 2 2
> - (13312 m2 m3 m4 + (39936 m1 - 159552) m2 m3 m4
> 4 2
> + (39936 m1 - 319104 m1 + 702600) m2 m3 m4
> 6 4 2 4 4
> + (13312 m1 - 159552 m1 + 702600 m1 - 519140) m3) m7 - 3328 m2 m4
> 2 3 3 4 2 2 2
> - (13312 m1 - 53184) m2 m4 - (19968 m1 - 159552 m1 + 351300) m2 m4
> 6 4 2 8
> 6
> - (13312 m1 - 159552 m1 + 702600 m1 - 519140) m2 m4 - 3328 m1 +
> 53184 m1
> 4 2 3 3
> - 351300 m1 + 519140 m1 - 274413)/2 + (16 m3 m7
> 2 2
> + m2 (48 m3 m4 m7 - 336 m3 m4 m7 - 762 m4)
> 2 2 2 2 2
> + m1 (48 m3 m7 + m2 (96 m3 m4 m7 - 336 m4) - 336 m3 m7 + 48 m2 m4
> - 762)
> 2 2 2 2 2 4
> - 168 m3 m7 + m2 (48 m3 m4 m7 - 168 m4 ) + m1 (48 m3 m7 + 48 m2 m4
> - 168)
> 3 3 6 1
> - 762 m3 m7 + 16 m2 m4 + 16 m1 + 9601)/54, -))
> 3
> Universal error handler called recursively (:ERROR NIL
>
> CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER
> "" "Couldn't protect")
> Universal error handler called recursively (:ERROR NIL
>
> CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER
> "" "Couldn't protect")
> Maxima encountered a Lisp error:
>
> Error in CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER [or a callee]: Caught
> fatal error [memory may be damaged]
>
> Automatically continuing.
> To reenable the Lisp debugger set *debugger-hook* to nil.
>
> So what are the problems?
>
> Bernhard
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
More information about the Maxima
mailing list