Re: Out of Memory. Exiting.
- To: mathgroup at smc.vnet.net
- Subject: [mg27504] Re: Out of Memory. Exiting.
- From: Roland Franzius <Roland.Franzius at uos.de>
- Date: Thu, 1 Mar 2001 03:53:30 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Not for the first time here it is recommended ... Mathematica (a mathematicians) have a poor performance handling trigonometric expression (too many rules, too many ways to simplify an expression). Your expression contains Reals( even 1.*..), so rationalize ist first In: mat = Rationalize[({{Cos[q]^2 - Cos[2*p]*Sin[q]^2, 1.*(Sin[2*p]*Sin[2.*p]*Sin[q] + Cos[p]^2*Cos[2.*p]*Sin[2*q]), 1.*Cos[2.*p]*Sin[2*p]*Sin[q] - 1.*Cos[p]^2*Sin[2.*p]*Sin[2*q]}, {-(Cos[p]^2*Sin[2*q]), 1.*Cos[q]*Sin[2*p]*Sin[2.*p] - 1.*Cos[2.*p]*(-(Cos[2*p]*Cos[q]^2) + Sin[q]^2), 1.*(Cos[2.*p]*Cos[q]*Sin[2*p] + Sin[2.*p]*(-(Cos[2*p]*Cos[q]^2) + Sin[q]^2))}, {Sin[2*p]* Sin[q], -1.*Cos[2.*p]*Cos[q]*Sin[2*p] + 1.*Cos[2*p]*Sin[2.*p], 1.*(Cos[2*p]*Cos[2.*p] + Cos[q]*Sin[2*p]*Sin[2.*p])}})]; This rule eliminates all functions known to Mathematica. So no attempts for looking at arguments and rules will occur In: toPolynomial = {Cos[p] -> x/2 + 1/(2*x), Sin[p] -> x/(2*I) - 1/(2*I*x), Cos[2*p] -> Cos[p]^2 - Sin[p]^2, Sin[2*p] -> 2*Sin[p]*Cos[p], Cos[q] -> y/2 + 1/(2*y), Sin[q] -> y/(2*I) - 1/(2*I*y), Sin[2*q] -> 2*Sin[q]*Cos[q]}; This is the reverse replacement rule In: toTrig = {x -> Cos[p] + I*Sin[p], y -> Cos[q] + I*Sin[q]}; In: mat1 = mat //. toPolynomial // FullSimplify Out: {{((-1 + y^2)^2 + x^4*(-1 + y^2)^2 + 2*x^2*(1 + y^2)^2)/(8*x^2*y^2), -((I*(1 + x^2)^2*((-1 + y)^2 + x^4*(-1 + y)^2 + 4*x^2*y)*(-1 + y^2))/(16*x^4*y^2)), ((-1 + x^4)*(-1 + y^2)*((-1 + y)^2 + x^4*(-1 + y)^2 + 2*x^2*(1 + y^2)))/(16*x^4*y^2)}, {(I*(1 + x^2)^2*(-1 + y^2)*(1 + y^2))/(8*x^2*y^2), (2*x^2*(-1 + y^2)^2 + 2*x^6*(-1 + y^2)^2 + (-1 + y)^2*(1 + y^2) + x^8*(-1 + y)^2*(1 + y^2) + 2*x^4*(1 + y)^2*(1 + y^2))/(16*x^4*y^2), (I*(-1 + x^4)*(-1 + y)^2*(1 + y^2 + 2*x^2*(1 + y)^2 + x^4*(1 + y^2)))/(16*x^4*y^2)}, {-(((-1 + x^4)*(-1 + y^2))/(4*x^2*y)), (I*(-1 + x^8)*(-1 + y)^2)/(8*x^4*y), -(((-1 + y)^2 + x^8*(-1 + y)^2 - 2*x^4*(1 + y)^2)/(8*x^4*y))}} Remove greatest numerator to get a simple polynomial In: factor = 16*x^4*y^2; In: Eigenvectors[mat1 factor] Out: {{-((1 - x^2 - y + x^2*y)/((1 + x^2)*(1 + y))), -((I*(-1 + x^2))/(1 + x^2)), 1}, {1/(4*x^2*(-1 + x^4)*y*(-1 + y^2))*(-2*y*((-1 + y)^2 + x^8*(-1 + y)^2 - 2*x^4*(1 + y)^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 + (1 + x^2)*Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]*(-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))) - (I*(-1 + x^8)*(-1 + y)^2*(-4*I*x^2*(-1 + x^4)^2*(-1 + y)^2*y*(-1 + y^2)* (1 + y^2 + 2*x^2*(1 + y)^2 + x^4*(1 + y^2)) - 2*I*x^2*(1 + x^2)^2*(-1 + y^2)*(1 + y^2)* (-2*y*((-1 + y)^2 + x^8*(-1 + y)^2 - 2*x^4*(1 + y)^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 + (1 + x^2)* Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]* (-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3)))))/(2*x^2*(-1 + x^4)*(-1 + y^2)* (4*x^2*(1 + x^2)^2*(-1 + x^8)*(-1 + y)^2*y*(-1 + y^2)*(1 + y^2) - 4*x^2*(-1 + x^4)*y*(-1 + y^2)*(2*x^2*(-1 + y^2)^2 + 2*x^6*(-1 + y^2)^2 + (-1 + y)^2*(1 + y^2) + x^8*(-1 + y)^2*(1 + y^2) + 2*x^4*(1 + y)^2*(1 + y^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 + (1 + x^2)* Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]* (-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))))), -((-4*I*x^2*(-1 + x^4)^2*(-1 + y)^2*y*(-1 + y^2)*(1 + y^2 + 2*x^2*(1 + y)^2 + x^4*(1 + y^2)) - 2*I*x^2*(1 + x^2)^2*(-1 + y^2)*(1 + y^2)* (-2*y*((-1 + y)^2 + x^8*(-1 + y)^2 - 2*x^4*(1 + y)^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 + (1 + x^2)*Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]*(-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))))/ (4*x^2*(1 + x^2)^2*(-1 + x^8)*(-1 + y)^2*y*(-1 + y^2)*(1 + y^2) - 4*x^2*(-1 + x^4)*y*(-1 + y^2)*(2*x^2*(-1 + y^2)^2 + 2*x^6*(-1 + y^2)^2 + (-1 + y)^2*(1 + y^2) + x^8*(-1 + y)^2*(1 + y^2) + 2*x^4*(1 + y)^2*(1 + y^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 + (1 + x^2)*Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]*(-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))))), 1}, {1/(4*x^2*(-1 + x^4)*y*(-1 + y^2))*(-2*y*((-1 + y)^2 + x^8*(-1 + y)^2 - 2*x^4*(1 + y)^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 - (1 + x^2)*Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]*(-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))) - (I*(-1 + x^8)*(-1 + y)^2*(-4*I*x^2*(-1 + x^4)^2*(-1 + y)^2*y*(-1 + y^2)* (1 + y^2 + 2*x^2*(1 + y)^2 + x^4*(1 + y^2)) - 2*I*x^2*(1 + x^2)^2*(-1 + y^2)*(1 + y^2)* (-2*y*((-1 + y)^2 + x^8*(-1 + y)^2 - 2*x^4*(1 + y)^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 - (1 + x^2)* Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]* (-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3)))))/(2*x^2*(-1 + x^4)*(-1 + y^2)* (4*x^2*(1 + x^2)^2*(-1 + x^8)*(-1 + y)^2*y*(-1 + y^2)*(1 + y^2) - 4*x^2*(-1 + x^4)*y*(-1 + y^2)*(2*x^2*(-1 + y^2)^2 + 2*x^6*(-1 + y^2)^2 + (-1 + y)^2*(1 + y^2) + x^8*(-1 + y)^2*(1 + y^2) + 2*x^4*(1 + y)^2*(1 + y^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 - (1 + x^2)* Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]* (-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))))), -((-4*I*x^2*(-1 + x^4)^2*(-1 + y)^2*y*(-1 + y^2)*(1 + y^2 + 2*x^2*(1 + y)^2 + x^4*(1 + y^2)) - 2*I*x^2*(1 + x^2)^2*(-1 + y^2)*(1 + y^2)* (-2*y*((-1 + y)^2 + x^8*(-1 + y)^2 - 2*x^4*(1 + y)^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 - (1 + x^2)*Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]*(-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))))/ (4*x^2*(1 + x^2)^2*(-1 + x^8)*(-1 + y)^2*y*(-1 + y^2)*(1 + y^2) - 4*x^2*(-1 + x^4)*y*(-1 + y^2)*(2*x^2*(-1 + y^2)^2 + 2*x^6*(-1 + y^2)^2 + (-1 + y)^2*(1 + y^2) + x^8*(-1 + y)^2*(1 + y^2) + 2*x^4*(1 + y)^2*(1 + y^2) + 1/2*(-1 - 4*x^2 - 6*x^4 - 4*x^6 - x^8 + 4*y - 8*x^4*y + 4*x^8*y - 6*y^2 + 8*x^2*y^2 - 4*x^4*y^2 + 8*x^6*y^2 - 6*x^8*y^2 + 4*y^3 - 8*x^4*y^3 + 4*x^8*y^3 - y^4 - 4*x^2*y^4 - 6*x^4*y^4 - 4*x^6*y^4 - x^8*y^4 - (1 + x^2)*Sqrt[1 + 2*x^2 + x^4 - 2*y + 12*x^2*y - 2*x^4*y + y^2 + 2*x^2*y^2 + x^4*y^2]*(-1 - 2*x^2 - x^4 + 3*y - 2*x^2*y + 3*x^4*y - 3*y^2 + 2*x^2*y^2 - 3*x^4*y^2 + y^3 + 2*x^2*y^3 + x^4*y^3))))), 1}} In: vec //. toTrig Out: .... restores the trigonometric functions You may use TrigToExp or something. Regards Roland Franzius Ivan Stegic schrieb: > > Hello everyone... > > I've searched the archives extensively, and found various answers to my > problem. However, none of them helped me. I am trying to find the > eigenvectors to a 3x3 matrix. I keep running into Out of Memory Exiting > problems, whether I run it with the frontend or without. I am running > Mathematica 3 on a RedHat Linux 5.1, Kernel 2.0.35 Pentium II 400 with > 128MB of RAM. The matrix I have contains 2 variables, and I am trying to > solve the for the Eigenvectors symbolically in terms of these variables. > The catch is that the variables are trigonometric functions. Following is > the command I execute. The result is "Out of Memory. Exiting." What can I > do? Could someone else try this on their more powerful machines, or will it > still run into the same problem? Or is there a way of simplifying this? Or > the matrix? > > Thanks very much, > Ivan. > > ------------------------ > [ivan@apollo ivan]$ more jobs/i.txt > Eigenvectors[{{Cos[q]^2 - Cos[2*p]*Sin[q]^2, > 1.*(Sin[2*p]*Sin[2.*p]*Sin[q] + Cos[p]^2*Cos[2.*p]*Sin[2*q]), > 1.*Cos[2.*p]*Sin[2*p]*Sin[q] - 1.*Cos[p]^2*Sin[2.*p]*Sin[2*q]}, > {-(Cos[p]^2*Sin[2*q]), 1.*Cos[q]*Sin[2*p]*Sin[2.*p] - > 1.*Cos[2.*p]*(-(Cos[2*p]*Cos[q]^2) + Sin[q]^2), > 1.*(Cos[2.*p]*Cos[q]*Sin[2*p] + > Sin[2.*p]*(-(Cos[2*p]*Cos[q]^2) + Sin[q]^2))}, > {Sin[2*p]*Sin[q], -1.*Cos[2.*p]*Cos[q]*Sin[2*p] + 1.*Cos[2*p]*Sin[2.*p], > 1.*(Cos[2*p]*Cos[2.*p] + Cos[q]*Sin[2*p]*Sin[2.*p])}}]>>>EVec-Symb; > [ivan@apollo ivan]$ > ------------------------ > > (For those who are interested, this matrix is a rotation matrix that takes > the orthonormal basis of a cone rotating around a replica cone from its > initial to its final position. p and q are the cone semi-angle, and the > parametrized position of the rotated cone respectively.) -- Roland Franzius +++ exactly <<n>> lines of this message have value <<FALSE>> +++