Re: Numerical Left Eigenvectors
- To: mathgroup at smc.vnet.net
- Subject: [mg6395] Re: [mg6369] Numerical Left Eigenvectors
- From: seanross at worldnet.att.net
- Date: Sun, 16 Mar 1997 19:25:06 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Gregory Dwyer wrote: > > Greetings - > > When I use the "eigenvector" function to numerically calculate > eigenvectors, Mathematica seems to assume that I always want right > eigenvectors. Is there some way to numerically calculate left eigenvectors? > > Thanks. > > Greg Dwyer. > Entomology, UMASS Amherst > dwyer at ent.umass.edu I tried the following code in mathematica 3.0. It looks bad in the email browser, but if you copy it into a notebook it should become transparent. Anyway, it confirms that Matrix.columnvector = rowvector.Transpose[Matrix] which means that the "right eigenvectors" of a matrix are equal to the transpose of the "left eigenvectors" of its transpose. The test matrix I used was a 5 x 5 which should be large enough to avoid any special cases that commonly occur in the smaller ones. Thus, the statement Eigenvectors[Transpose[matrix]] should return your "left" eigenvectors. This, of course, assumes that I guessed correctly what you meant by left and right eigenvectors and they are: Matrix.righteigenvector=constant.righteigenvector lefteigenvector.Matrix=constant.lefteigenvector In[1]:= \!\(\* RowBox[{ RowBox[{"A", "=", RowBox[{"(", GridBox[{ {"a11", "a12", "a13", "a14", "a15"}, {"a21", "a22", "a23", "a24", "a25"}, {"a31", "a32", "a33", "a34", "a35"}, {"a41", "a42", "a43", "a44", "a45"}, {"a51", "a52", "a53", "a54", "a55"} }], ")"}]}], ";", "\n", RowBox[{"x", "=", RowBox[{"(", GridBox[{ {"x1"}, {"x2"}, {"x3"}, {"x4"}, {"x5"} }], ")"}]}], ";"}]\) In[4]:= MatrixForm[Dot[A,x]] Out[4]//MatrixForm= \!\(\* TagBox[ RowBox[{"(", GridBox[{ {\(a11\ x1 + a12\ x2 + a13\ x3 + a14\ x4 + a15\ x5\)}, {\(a21\ x1 + a22\ x2 + a23\ x3 + a24\ x4 + a25\ x5\)}, {\(a31\ x1 + a32\ x2 + a33\ x3 + a34\ x4 + a35\ x5\)}, {\(a41\ x1 + a42\ x2 + a43\ x3 + a44\ x4 + a45\ x5\)}, {\(a51\ x1 + a52\ x2 + a53\ x3 + a54\ x4 + a55\ x5\)} }], ")"}], (MatrixForm[ #]&)]\) In[9]:= MatrixForm[Dot[Flatten[Transpose[x]],Transpose[A]]] Out[9]//MatrixForm= \!\(\* InterpretationBox[ RowBox[{"(", GridBox[{ {\(a11\ x1 + a12\ x2 + a13\ x3 + a14\ x4 + a15\ x5\)}, {\(a21\ x1 + a22\ x2 + a23\ x3 + a24\ x4 + a25\ x5\)}, {\(a31\ x1 + a32\ x2 + a33\ x3 + a34\ x4 + a35\ x5\)}, {\(a41\ x1 + a42\ x2 + a43\ x3 + a44\ x4 + a45\ x5\)}, {\(a51\ x1 + a52\ x2 + a53\ x3 + a54\ x4 + a55\ x5\)} }], ")"}], MatrixForm[ { Plus[ Times[ a11, x1], Times[ a12, x2], Times[ a13, x3], Times[ a14, x4], Times[ a15, x5]], Plus[ Times[ a21, x1], Times[ a22, x2], Times[ a23, x3], Times[ a24, x4], Times[ a25, x5]], Plus[ Times[ a31, x1], Times[ a32, x2], Times[ a33, x3], Times[ a34, x4], Times[ a35, x5]], Plus[ Times[ a41, x1], Times[ a42, x2], Times[ a43, x3], Times[ a44, x4], Times[ a45, x5]], Plus[ Times[ a51, x1], Times[ a52, x2], Times[ a53, x3], Times[ a54, x4], Times[ a55, x5]]}]]\) by smc.vnet.net (8.8.5/8.8.5) with ESMTP id MAA22734 for <mathgroup at smc.vnet.net>; Sat, 15 Mar 1997 12:42:03 -0500 (EST) (peer crosschecked as: boursy.news.erols.com [205.252.116.140]) id QQcgzu15606; Sat, 15 Mar 1997 12:43:40 -0500 (EST) by boursy.news.erols.com (8.8.5/8.8.5) id MAA22082; Sat, 15 Mar 1997 12:43:22 -0500 (EST) From: tracyp at erols.com To: mathgroup at smc.vnet.net Subject: [mg6395] Newbie Girl needs help with Ploting Equations Using Mathematica 3.0 Win95 Organization: Erol's Internet Services Content-Length: 3276 Dear Experienced Mathematica Users: I have the following BASIC programs that I am trying to convert to Mathmatica. Each program generates a graph as discribeded in the header. Could someone please help? I recognize this is a big request, but any help will be appreciated! Tracy Figure 1 (A Circle with internal connecting lines) 1. INPUT"NUMBER OF POINTS (SAMPLE HAS 18) ";N 2. DIM A(N), B(N) 3. FOR T =0 TO 2*PI-.001 STEP 2*PI/N 4. Z=Z+1 5. A(Z)=COST(T)*200+202: B(Z)=SIN(T)*202+202 6. NEXT T 7. FOR S=1 TO N-1: FOR D=S+1 TO N 8. X1=A(S): Y1=B(S) 9. X2=A(D): Y2=B(D) 10. GLINE (X1,Y1) (X2,Y2) 11. NEXT D,S Figure 2 (parabolic border with circle that has internal connecting lines) 1. FOR Q= 0 TO 405 STEP 9 2. X1=0: Y1=Q:X2=Q :Y2=405 3. GLINE (X1,Y1) (X2,Y2) 4. X1=Q:Y1=0:X2=405:Y2=Q 5. GLINE (X1,Y1) (X2,Y2) 6. NEXT Q 7. INPUT"NUMBER OF POINTS (SAMPLE HAS 18) ";N 8. DIM A(N),B(N) 9. FOR T = 0 TO 2*PI - .001 STEO 2*PI/N 10. Z=Z+1 11. A(Z)=COS(T)*125+202:B(Z)=SIN(T)*125+202 12. NEXT T 13. FOR S=1TO-1:FOR D= S+1 TO N 14. X1=A(S) : Y1=B(S) 15. X2=A(D): Y2=B(D) 16. GLINE (X1,Y1) (X2,Y2) 17. NEXT D,S figure 3 (a moire pattern created by the interference of regularly spaced radii of two circles) 1. FOR T = 0 TO PI/2 STEP PI/180 2. X1 = FIX(COS(T)*100):Y1=SIN(T)*100 3. X2= FIX(COS(T)*405): Y2=SIN(T)*405 4. GLINE (X1,Y1) (X2,Y2) 5. X1=405-X1: Y1=405-Y1 6. X2=405-X2 : Y2=405-Y2 7. NEXT T Figure 4 ("the tunnel" is a square spiral) 1. X1=270: Y1=270 2. FOR Q = 1 TO 64 3. X2=X1+5*Q+2:Y2=Y1 4. GLINE (X1,Y1) (X2,Y2) 5. X1=X2:Y1=Y2+5*Q+3 6. GLINE (X1,Y1) (X2,Y2) 7. X2=X1-5*Q-5:Y2=Y1 8. GLINE (X1,Y1) (X2,Y2) 9. X1=X2:Y1=Y2-5*Q-6 10. GLINE (X1,Y1) (X2,Y2) 11. NEXT Q figure 5 (A very simple disk made with one hundred straight lines) 1. FOR T = 0 TO 2 * PI STEP PI/50 2. X1=COST(T)*200+202:Y1=SIN(T)*200+202 3. A=T+3*PI/4 4. X2=COS(A)*200+202:Y2=SIN(A)*200+202 5. GLINE (X1,Y1) (X2,Y2) 6. NEXT T figure 6 (An overlapping spiral made of two hundred lines) 1. FOR T = 0 TO 10*PI STEP PI/20 2. X1=COS(T)*5*T+202: Y1=SIN(T)*5*T+202 3. A=T+2*PI/3 4. X2=COS(A)*5*A+202:Y2=SIN(A)*5*A+202 5. GLINE (X1,Y1) (X2,Y2) 6. NEXT T figure 7 (This figure used polar coordinates and is based on a four leaf rose) 1. FOR T = 0 TO 2* PI STEP PI/75 2. R=COS (2*T)*200 3. X1=COS(T)*R+202:Y1=SIN(T)*R+202 4. A=T+PI/3 5. R2=COS(2*A)*200 6. X2=COS(A)*R2+202:Y2=SIN(A)*R2+202 7. GLINE (X1,Y1) (X2,Y2) 8. NEXT T figure 8 (This figure is completely made of squares) 1. FOR T = 0 TO 2*PI STEP PI/60 2. R=COS(2*T)*200 3. X1=COS(T)*R+202: Y1=SIN(T)*R+202 4. A=T+PI/2 5. R2=COS(2*A)*200 6. X2=COS(A)*R2+202: Y2=SIN(A)*R2+202 7. GLINE (X1,Y1) (X2,Y2) 8. NEXT T Figure 9 (This is based on an eight leaf rose; the small star in the center was an accident) 1. FOR T=0 TO 2*PI STEP PI/60 2. R=COS(4*T)*200 3. X1=COS(T)*R+202:Y1=SIN(T)*R+202 4. A=T+PI/4 5. R2=COS(4*A)*200 6. X2=COS(A)*R2+202: Y2=SIN(A)*R2+202 7. GLINE (X1,Y1) (X2,Y2) Figure 10 (This figure is completely made of triangles) 1. FOR T=0 TO 2*PI STEP PI/30 2. R=T*31 3. X1=COS(T)*R+202:Y1=SIN(T)*R+202 4. A=T+2*PI/3 5. X2=COS(A)*R+202:Y2=SIN(A)*R+202 6. GLINE (X1,Y1) (X2,Y2) 7. B=T+4*PI/3 8. X1=COS(B)*R+202:Y1=SIN(B)*R+202 9. GLINE (X1,Y1) (X2,Y2) 10. X2=COS(T)*R+202:Y2=SIN(T)*R+202 11. GLINE (X1,Y1) (X2,Y2) 12. NEXT T