{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times " 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 } {PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Outpu t" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 1 3 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT 256 54 "T.Pajdla: Inverse Kinemat ics of a 6-DOF Manipulator. \n" }{TEXT -1 153 "[1] D.Manocha, J.F.Cann y. Efficient Inverse Kinematics for General 6R Manipulators. IEEE Tran s. on Robotics and Automation, 10(5), pp. 648-657, Oct. 2004" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 31 "General Mechani sm - Explanation" }}{PARA 0 "" 0 "" {TEXT -1 11 "13 Nov 2006" }}} {SECT 1 {PARA 3 "" 0 "" {TEXT 257 20 " Packages & settings" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 213 "restart:\nwith(ListT ools):\nwith(LinearAlgebra):\nwith(PolynomialTools):\nwith(combinat, c hoose):\nwith(Groebner):\nwith(MatrixPolynomialAlgebra):\ninterface(rt ablesize=24):\ninterface(warnlevel=0):\nDigits:=30:\neps:=1e-6:" }}}} {SECT 1 {PARA 3 "" 0 "" {TEXT 258 13 "DH-Kinematics" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 22 "Joint transformations:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5073 "# Two one-parametric motions transformatin in DH -convention(phi, theta, a,d) indexed by i\n# c = cos(phi), s = sin(phi ), lambda = cos(alpha), mu = sin(alpha)\ndhTs := proc(i)\nlocal M1, M2 ;\n M1:=Matrix(4,4,[[+cat(`c`,i),-cat(`s`,i),0, 0],\n \+ [ +cat(`s`,i),+cat(`c`,i),0, 0],\n \+ [ 0, 0,1,cat(`d`,i)],\n [ \+ 0, 0,0, 1]]);\n M2:=Matrix(4,4,[[1, 0, \+ 0,cat(`a`,i)], \n [ 0,+cat(`lambda`,i),-cat(` mu`,i), 0],\n [ 0,+cat(`mu`,i),+cat(`lambda`, i), 0],\n [ 0, 0, 0, \+ 1]]);\n [M1,M2];\nend proc:\n#\n# Inverse of the DH-convention for one-aprametric DH rigid motion transformations\ndhInvs := proc(M)\n \+ local M1, M2;\n M1 := M[1];\n M2 := M[2];\n [simplify(MatrixInv erse(M2),\{M2[3,2]^2+M2[3,3]^2=1\}),\n simplify(MatrixInverse(M1), \{M1[1,1]^2+M1[2,1]^2=1\})];\nend proc:\n#\n# Rigid motion transformat in in DH-convention(phi, theta, a,d) indexed by i\n# c = cos(phi), s = sin(phi), P = cos(alpha), R = sin(alpha)\ndhT := proc(i)\nlocal M;\n \+ M:=dhTs(i);\n M[1].M[2];\nend proc:\n#\n# Inverse of the DH-conven tion rigid motion transformation\ndhInv := proc(M)\n simplify(Matrix Inverse(M),\{M[1,1]^2+M[2,1]^2=1,M[3,2]^2+M[3,3]^2=1\});\nend proc:\n# \n# Simplify using trigonometric indentities c^2+s^2=1 & lambda^2+mu^2 =1\ndhSimpl := proc(M,i)\n simplify(M,\{cat(`c`,i)^2+cat(`s`,i)^2=1, cat(`lambda`,i)^2+cat(`mu`,i)^2=1\});\nend proc:\n#\n## Direct Kinemat ic Task\n#\ndhDKT := proc(p)\n subs(p,dhT(1).dhT(2).dhT(3).dhT(4).dh T(5).dhT(6)); \nend proc:\n#\n# Simplify using Rotation matrin in Mh \nMhSimpl := proc(M)\n simplify(\n simplify(\n simplify(\n simpl ify(M,\n \{lx^2+ly^2+lz^2=1,mx^2+my^2+mz^2=1,nx^2+ny^2+nz^2 =1\}),\n \{lx*mx+ly*my+lz*mz=0,lx*nx+ly*ny+lz*nz=0,mx*nx+my* ny+mz*nz=0\}),\n \{lx^2+mx^2+nx^2=1,ly^2+my^2+ny^2=1,lz^2+mz^ 2+nz^2=1\}),\n \{lx*ly+mx*my+nx*ny=0,lx*lz+mx*mz+nx*nz=0,lz*ly +mz*my+nz*ny=0\});\nend proc:\n#\n# Simplify a general motion matrix u sing rotation matrix identities in columns\nrcSimp := proc(M,R)\n \+ simplify(\n simplify(\n simplify(\n simplify (\n simplify(\n simplify(M,\{R[1,1]*R[1,1]+R[2,1] *R[2,1]+R[3,1]*R[3,1]=1\}),\n \{R[1,1]*R[1,2]+R[2,1]*R[ 2,2]+R[3,1]*R[3,2]=0\}),\n \{R[1,1]*R[1,3]+R[2,1]*R[2,3] +R[3,1]*R[3,3]=0\}),\n \{R[1,2]*R[1,2]+R[2,2]*R[2,2]+R[3, 2]*R[3,2]=1\}),\n \{R[1,2]*R[1,3]+R[2,2]*R[2,3]+R[3,2]*R[3 ,3]=0\}),\n \{R[1,3]*R[1,3]+R[2,3]*R[2,3]+R[3,3]*R[3,3]=1\} );\nend proc:\n#\n# Simplify a general motion matrix using rotation ma trix identities in rows\nrrSimp := proc(M,R)\n simplify(\n \+ simplify(\n simplify(\n simplify(\n simpl ify(\n simplify(M,\{R[1,1]*R[1,1]+R[1,2]*R[1,2]+R[1,3]*R[1, 3]=1\}),\n \{R[1,1]*R[2,1]+R[1,2]*R[2,2]+R[1,3]* R[2,3]=0\}),\n \{R[1,1]*R[3,1]+R[1,2]*R[3,2]+R[1 ,3]*R[3,3]=0\}),\n \{R[2,1]*R[2,1]+R[2,2]*R[2,2] +R[2,3]*R[2,3]=1\}),\n \{R[2,1]*R[3,1]+R[2,2]*R[ 3,2]+R[2,3]*R[3,3]=0\}),\n \{R[3,1]*R[3,1]+R[3,2 ]*R[3,2]+R[3,3]*R[3,3]=1\});\nend proc:\n#\n# Matrix representation of a set of polynomials \nPolyCoeffMatrix:=proc(S,m,Ord::\{ShortTermOrde r, TermOrder\}) \nlocal A,v,i,j,k,c,q;\n A:=Matrix(nops(S),nops (m),storage=sparse);\n v:=indets(m);\n for i from 1 to n ops(S) do\n c:=[coeffs(expand(S[i]),v,'q')];\n \+ q:=[q];\n \011 for j from 1 to nops(m) do\n \+ for k from 1 to nops(q) do\n \+ if (m[j]=q[k]) then A[i,j]:=c[k] end if\n \+ end do\n \011 end do\n end do;\n Matrix(A) ;\nend proc:\n#\n## Cartesian product of a two lists\n#\nLxL:=proc(X:: list,Y::list)\n Flatten(map(x->(map(y->Flatten([x,y]),Y)),X),1);\n end proc:\n#\n## n x 1 matrix to a list conversion\n#\nM2L:=proc(M) \n \011convert(convert(M,Vector),list);\nend proc:\n#\n## Highlit non-zer o entries\n#\nspy:=proc(A)\n map(x->`if`(simplify(x)=0,0, `if`(simpl ify(x)=1,1,`*`)) ,A):\nend proc:\n#\n# Monomials of a set of polynomia l in all indeterminates\n#\nPolyMonomials:=proc(S::list(ratpoly),Ord:: \{ShortTermOrder, TermOrder\}) # Monomials of a set of polynomials\nlo cal v,m,i,c,q;\n v:=indets(S);\n m:=[];\n for i f rom 1 to nops(S) do\n c:=[coeffs(expand(S[i]),v,'q')]; \n m:=[op(m),q];\n end do;\n m:=MakeUniqu e(m);\n sort(m,(t1,t2)->testorder(t2,t1,Ord));\nend proc:\n#\n# # Monomias of a set of polynomials in given indeterminates\n#\nPolyVar sMonomials:=proc(S::list(ratpoly),Ord::\{ShortTermOrder, TermOrder\}) \+ # Monomials of a set of polynomials in variavbles of Ord\nlocal v,m,i, c,q;\n v:=\{op(Ord)\};\n m:=[];\n for i from 1 to nops(S) do\n c:=[coeffs(expand(S[i]),v,'q')];\n \+ m:=[op(m),q];\n end do;\n m:=MakeUnique(m);\n \+ sort(m,(t1,t2)->testorder(t2,t1,Ord));\nend proc:" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT 259 27 "6-DOF Robot IK formulation " }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 182 "Given ai, di, i = 1...6, and Mh, find pa rameters ci, si, pi, ri subject to\n\n(1) M1 * M2 * M3 * M4 * M5 * M6 = Mh " }}{PARA 0 "" 0 "" {TEXT -1 71 "\n(2) (M11*M12)*(M21*M22)*(M31* M32)*(M41*M42)*(M51*M52)*(M61*M62) = Mh" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 31 "(3) \011ci^2 + si^2 = 1 \011i = 1... 6" }}{PARA 0 "" 0 "" {TEXT -1 32 "\n(4) \011pi^2 + ri^2 = 1 \011i = 1. ..6" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 156 "[2] M. Raghavan, B. Roth. Kinematic Analysis of the 6R Manipul ator of General Geometry. \n Int. Symposium on Robotic Research. pp. 264-269, Tokyo 1990." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 83 "Write (1) equivalently as\n\n(5) M3 * M4 * M5 = M2^\{-1\} * M1^\{-1\} * Mh * M6^\{-1\}" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 31 "(6) M31*M32*M41*M42*M51*M52 " } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 99 " \+ = M22^\{-1\}*M21^\{-1\}*M12^\{-1\}*M11^ \{-1\}* Ah * M62^\{-1\}*M61^\{-1\}" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT 260 23 " Formulation & Solution" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "The manipulator matrices" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 336 "M31 :=dhTs(3)[1]:\nM32 :=dhTs(3)[2]:\nM41 :=dhTs(4)[1]:\nM42 :=dh Ts(4)[2]:\nM51 :=dhTs(5)[1]:\nM52 :=dhTs(5)[2]:\niM22:=dhInvs(dhTs(2)) [1]:\niM21:=dhInvs(dhTs(2))[2]:\niM12:=dhInvs(dhTs(1))[1]:\niM11:=dhIn vs(dhTs(1))[2]:\nMh :=Matrix(4,4,[[lx,mx,nx,rx],[ly,my,ny,ry],[lz,mz, nz,rz],[0,0,0,1]]):\niM62:=dhInvs(dhTs(6))[1]:\niM61:=dhInvs(dhTs(6))[ 2]:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "Let us first inspect the \+ matrices. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "M31,M32,M41,M 42,M51,M52,\"=\",iM22,iM21,iM12,iM11,Mh,iM62,iM61;" }}{PARA 12 "" 1 " " {XPPMATH 20 "60-%'RTABLEG6%\"*kxWY\"-%'MATRIXG6#7&7&%#c3G,$%#s3G!\" \"\"\"!F07&F.F,F0F07&F0F0\"\"\"%#d3G7&F0F0F0F3%'MatrixG-F$6%\"*KRXY\"- F(6#7&7&F3F0F0%#a3G7&F0%(lambda3G,$%$mu3GF/F07&F0FBF@F0F5F6-F$6%\"*7EY Y\"-F(6#7&7&%#c4G,$%#s4GF/F0F07&FMFKF0F07&F0F0F3%#d4GF5F6-F$6%\"*#4kk9 -F(6#7&7&F3F0F0%#a4G7&F0%(lambda4G,$%$mu4GF/F07&F0FfnFZF0F5F6-F$6%\"*' *eYY\"-F(6#7&7&%#c5G,$%#s5GF/F0F07&FaoF_oF0F07&F0F0F3%#d5GF5F6-F$6%\"* wtYY\"-F(6#7&7&F3F0F0%#a5G7&F0%(lambda5G,$%$mu5GF/F07&F0F`pF^pF0F5F6Q \"=6\"-F$6%\"*WFZY\"-F(6#7&7&F3F0F0,$%#a2GF/7&F0%(lambda2G%$mu2GF07&F0 ,$F_qF/F^qF0F5F6-F$6%\"*oVZY\"-F(6#7&7&%#c2G%#s2GF0F07&,$FjqF/FiqF0F07 &F0F0F3,$%#d2GF/F5F6-F$6%\"*WrZY\"-F(6#7&7&F3F0F0,$%#a1GF/7&F0%(lambda 1G%$mu1GF07&F0,$F[sF/FjrF0F5F6-F$6%\"*gA[Y\"-F(6#7&7&%#c1G%#s1GF0F07&, $FfsF/FesF0F07&F0F0F3,$%#d1GF/F5F6-F$6%\"*+x[Y\"-F(6#7&7&%#lxG%#mxG%#n xG%#rxG7&%#lyG%#myG%#nyG%#ryG7&%#lzG%#mzG%#nzG%#rzGF5F6-F$6%\"*'R*[Y\" -F(6#7&7&F3F0F0,$%#a6GF/7&F0%(lambda6G%$mu6GF07&F0,$F\\vF/F[vF0F5F6-F$ 6%\"*s@\\Y\"-F(6#7&7&%#c6G%#s6GF0F07&,$FgvF/FfvF0F07&F0F0F3,$%#d6GF/F5 F6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 177 "Notice that the the two la st columns of iM61 are free of c6, s6 and so we can get six equations \+ without the sixth variable.\nThus, take only those 6 equations to limi nate c6, s6." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "M31,M32,M41 ,M42,M51,M52[1..4,3..4],\"=\",iM22,iM21,iM12,iM11,Mh,iM62,iM61[1..4,3. .4];" }}{PARA 12 "" 1 "" {XPPMATH 20 "60-%'RTABLEG6%\"*kxWY\"-%'MATRIX G6#7&7&%#c3G,$%#s3G!\"\"\"\"!F07&F.F,F0F07&F0F0\"\"\"%#d3G7&F0F0F0F3%' MatrixG-F$6%\"*KRXY\"-F(6#7&7&F3F0F0%#a3G7&F0%(lambda3G,$%$mu3GF/F07&F 0FBF@F0F5F6-F$6%\"*7EYY\"-F(6#7&7&%#c4G,$%#s4GF/F0F07&FMFKF0F07&F0F0F3 %#d4GF5F6-F$6%\"*#4kk9-F(6#7&7&F3F0F0%#a4G7&F0%(lambda4G,$%$mu4GF/F07& F0FfnFZF0F5F6-F$6%\"*'*eYY\"-F(6#7&7&%#c5G,$%#s5GF/F0F07&FaoF_oF0F07&F 0F0F3%#d5GF5F6-F$6%\"*'z$\\Y\"-F(6#7&7$F0%#a5G7$,$%$mu5GF/F07$%(lambda 5GF07$F0F3F6Q\"=6\"-F$6%\"*WFZY\"-F(6#7&7&F3F0F0,$%#a2GF/7&F0%(lambda2 G%$mu2GF07&F0,$F`qF/F_qF0F5F6-F$6%\"*oVZY\"-F(6#7&7&%#c2G%#s2GF0F07&,$ F[rF/FjqF0F07&F0F0F3,$%#d2GF/F5F6-F$6%\"*WrZY\"-F(6#7&7&F3F0F0,$%#a1GF /7&F0%(lambda1G%$mu1GF07&F0,$F\\sF/F[sF0F5F6-F$6%\"*gA[Y\"-F(6#7&7&%#c 1G%#s1GF0F07&,$FgsF/FfsF0F07&F0F0F3,$%#d1GF/F5F6-F$6%\"*+x[Y\"-F(6#7&7 &%#lxG%#mxG%#nxG%#rxG7&%#lyG%#myG%#nyG%#ryG7&%#lzG%#mzG%#nzG%#rzGF5F6- F$6%\"*'R*[Y\"-F(6#7&7&F3F0F0,$%#a6GF/7&F0%(lambda6G%$mu6GF07&F0,$F]vF /F\\vF0F5F6-F$6%\"*Sm\\Y\"-F(6#7&7$F0F0Ffv7$F3,$%#d6GF/FbpF6" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 66 "Do two following manipulations to \+ \"simplify\" the set of equations:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "1) Multiply both sides from the left by M22" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 90 "dhInv(iM22),M31,M32,M41,M42,M51,M52[1..4,3. .4],\"=\",iM21,iM12,iM11,Mh,iM62,iM61[1..4,3..4];" }}{PARA 12 "" 1 "" {XPPMATH 20 "60-%'RTABLEG6%\"*O1]Y\"-%'MATRIXG6#7&7&\"\"\"\"\"!F-%#a2G 7&F-%(lambda2G,$%$mu2G!\"\"F-7&F-F2F0F-7&F-F-F-F,%'MatrixG-F$6%\"*kxWY \"-F(6#7&7&%#c3G,$%#s3GF3F-F-7&F@F>F-F-7&F-F-F,%#d3GF5F6-F$6%\"*KRXY\" -F(6#7&7&F,F-F-%#a3G7&F-%(lambda3G,$%$mu3GF3F-7&F-FOFMF-F5F6-F$6%\"*7E YY\"-F(6#7&7&%#c4G,$%#s4GF3F-F-7&FZFXF-F-7&F-F-F,%#d4GF5F6-F$6%\"*#4kk 9-F(6#7&7&F,F-F-%#a4G7&F-%(lambda4G,$%$mu4GF3F-7&F-FcoFaoF-F5F6-F$6%\" *'*eYY\"-F(6#7&7&%#c5G,$%#s5GF3F-F-7&F^pF\\pF-F-7&F-F-F,%#d5GF5F6-F$6% \"*7M]Y\"-F(6#7&7$F-%#a5G7$,$%$mu5GF3F-7$%(lambda5GF-7$F-F,F6Q\"=6\"-F $6%\"*oVZY\"-F(6#7&7&%#c2G%#s2GF-F-7&,$FjqF3FiqF-F-7&F-F-F,,$%#d2GF3F5 F6-F$6%\"*WrZY\"-F(6#7&7&F,F-F-,$%#a1GF37&F-%(lambda1G%$mu1GF-7&F-,$F[ sF3FjrF-F5F6-F$6%\"*gA[Y\"-F(6#7&7&%#c1G%#s1GF-F-7&,$FfsF3FesF-F-7&F-F -F,,$%#d1GF3F5F6-F$6%\"*+x[Y\"-F(6#7&7&%#lxG%#mxG%#nxG%#rxG7&%#lyG%#my G%#nyG%#ryG7&%#lzG%#mzG%#nzG%#rzGF5F6-F$6%\"*'R*[Y\"-F(6#7&7&F,F-F-,$% #a6GF37&F-%(lambda6G%$mu6GF-7&F-,$F\\vF3F[vF-F5F6-F$6%\"*Ok]Y\"-F(6#7& 7$F-F-Fev7$F,,$%#d6GF3F_qF6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "2) Multiply both sides from the left by " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "<<1,0,0,0>|<0,1,0,0>|<0,0,1,0>|<0,0,d2,1>>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*3#4l9-%'MATRIXG6#7&7&\"\"\"\" \"!F-F-7&F-F,F-F-7&F-F-F,%#d2G7&F-F-F-F,%'MatrixG" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 180 "<<1,0,0,0>|<0,-1,0,0>|<0,0,1,0>|<0,0,d2,1>> .dhInv(iM22),M31,M32,M41,M42,M51,M52[1..4,3..4],\n\"=\",\n<<1,0,0,0>|< 0,-1,0,0>|<0,0,1,0>|<0,0,d2,1>>.iM21,iM12,iM11,Mh,iM62,iM61[1..4,3..4] ;" }}{PARA 12 "" 1 "" {XPPMATH 20 "60-%'RTABLEG6%\"*)o5l9-%'MATRIXG6#7 &7&\"\"\"\"\"!F-%#a2G7&F-,$%(lambda2G!\"\"%$mu2GF-7&F-F3F1%#d2G7&F-F-F -F,%'MatrixG-F$6%\"*kxWY\"-F(6#7&7&%#c3G,$%#s3GF2F-F-7&FAF?F-F-7&F-F-F ,%#d3GF6F7-F$6%\"*KRXY\"-F(6#7&7&F,F-F-%#a3G7&F-%(lambda3G,$%$mu3GF2F- 7&F-FPFNF-F6F7-F$6%\"*7EYY\"-F(6#7&7&%#c4G,$%#s4GF2F-F-7&FenFYF-F-7&F- F-F,%#d4GF6F7-F$6%\"*#4kk9-F(6#7&7&F,F-F-%#a4G7&F-%(lambda4G,$%$mu4GF2 F-7&F-FdoFboF-F6F7-F$6%\"*'*eYY\"-F(6#7&7&%#c5G,$%#s5GF2F-F-7&F_pF]pF- F-7&F-F-F,%#d5GF6F7-F$6%\"*kM^Y\"-F(6#7&7$F-%#a5G7$,$%$mu5GF2F-7$%(lam bda5GF-7$F-F,F7Q\"=6\"-F$6%\"*go^Y\"-F(6#7&7&%#c2G%#s2GF-F-7&F[r,$FjqF 2F-F-7&F-F-F,F-F6F7-F$6%\"*WrZY\"-F(6#7&7&F,F-F-,$%#a1GF27&F-%(lambda1 G%$mu1GF-7&F-,$FjrF2FirF-F6F7-F$6%\"*gA[Y\"-F(6#7&7&%#c1G%#s1GF-F-7&,$ FesF2FdsF-F-7&F-F-F,,$%#d1GF2F6F7-F$6%\"*+x[Y\"-F(6#7&7&%#lxG%#mxG%#nx G%#rxG7&%#lyG%#myG%#nyG%#ryG7&%#lzG%#mzG%#nzG%#rzGF6F7-F$6%\"*'R*[Y\"- F(6#7&7&F,F-F-,$%#a6GF27&F-%(lambda6G%$mu6GF-7&F-,$F[vF2FjuF-F6F7-F$6% \"*O'>l9-F(6#7&7$F-F-Fdv7$F,,$%#d6GF2F`qF7" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 156 "Do the multiplications, construct the equations, and tak e the 6 ones we are interested in. \nDenote the left hand side by ee1 \+ and the right hand side by ee2." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 211 "ee1:=dhSimpl((<<1,0,0,0>|<0,-1,0,0>|<0,0,1,0>|<0,0,d2,1>>.dhI nv(iM22).M31.M32.M41.M42.M51.M52)[1..3,3..4],2):\nee2:=dhSimpl((<<1,0, 0,0>|<0,-1,0,0>|<0,0,1,0>|<0,0,d2,1>>.iM21.iM12.iM11.Mh.iM62.iM61)[1.. 3,3..4],2):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 107 "We have 6 equatio ns in 10 unknowns s1, c1, s2, c2, s3, c3, s4, c4, s5, c5.\nLet us gene rate more equations. " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 111 "To do s o, denote the columns of the left and right hand side as:\n\n \+ [l2 p2] = [l1 p1]" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "l2:=ee1[1..3,1..1]:\np2:= ee1[1..3,2..2]:\nl1:=ee2[1..3,1..1]:\np1:=ee2[1..3,2..2]:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 339 "New equations can be now generated by sc alar and vector operations on the columns.\n\n1) p2 . p2 = p1 . p1 \+ ... 1 new equation\n\n2) p2 . l2 = p1 . l1 ... \+ 1 new equation\n\n3) p2 x l2 = p1 x l1 ... 3 new equation s\n\n4) (p1 . p1) l1 - 2 (p1 . l1) p1 = (p2 . p2) l2 - 2 (p2 . l2) p2 \+ ... 3 new equations" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 " which can be derived from" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 85 " A x (B x C) = (A . \+ C) B - (A . B) C\n\n using the substitution p = A = C, l = B" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 118 " 0 = \+ A x (B x C) = (A . C) B - (A . B) C \n\n and thus\n\n - (A . B ) C = (A . C) B - 2 (A . B) C\n\n we get " }}{PARA 0 "" 0 "" {TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 285 " - (p1 . l1) p1 = ( p1 . p1) l1 - 2 (p1 . l1) p1\n \n - (p2 . l2) p2 = (p2 . p2) l2 - 2 (p2 . l2) p2\n\n and using\n\n p1 = p2 & l1 = l2\n\n we get\n\n\n - (p1 . l1) p1 = - (p2 . l2) p2 \n\n (p1 . p1) l1 - 2 (p1 . l1) p1 = (p2 . p2) l2 - 2 (p2 . l2) p2\n" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 54 "ad 1) p2 . p2 = p1 . p1 \+ ... 1 new equation" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 131 " pp1:=MhSimpl(dhSimpl(dhSimpl(dhSimpl(Transpose(p1).p1,2),1),6)):\npp2: =dhSimpl(dhSimpl(dhSimpl(dhSimpl(Transpose(p2).p2,2),3),4),5):" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 56 "ad 2) p2 . l2 = p1 . l1 \+ ... 1 new equation" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 132 " pl1:=MhSimpl(dhSimpl(dhSimpl(dhSimpl(Transpose(p1).l1,2),1),6)):\npl2: =dhSimpl(dhSimpl(dhSimpl(dhSimpl(Transpose(p2).l2,2),3),4),5):\n" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 56 "ad 3) p2 x l2 = p1 x l1 . .. 3 new equations" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 329 " pxl1:=map(x->expand(x),convert(CrossProduct(convert(p1,Vector),convert (l1,Vector)),Matrix)):\npxl2:=map(x->expand(x),convert(CrossProduct(co nvert(p2,Vector),convert(l2,Vector)),Matrix)):\nm1x:=map(x->expand(x), MhSimpl(dhSimpl(dhSimpl(dhSimpl(pxl1,2),1),6))):\nm2x:=map(x->expand(x ),dhSimpl(dhSimpl(dhSimpl(dhSimpl(pxl2,2),3),4),5)):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 95 "ad 4) (p1 . p1) l1 - 2 (p1 . l1) p1 = (p2 . p2) l2 - 2 (p2 . l2) p2 ... 3 new equations" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 312 "plpl1:=map(x->expand(x),ScalarMultiply(l1,pp 1[1,1]) - ScalarMultiply(p1,2*pl1[1,1])):\nplpl2:=map(x->expand(x),Sca larMultiply(l2,pp2[1,1]) - ScalarMultiply(p2,2*pl2[1,1])):\nmp1:=MhSim pl(dhSimpl(dhSimpl(dhSimpl(simplify(plpl1),2),1),6)):\nmp2:=dhSimpl(dh Simpl(dhSimpl(dhSimpl(dhSimpl(simplify(plpl2),2),3),4),5),1):" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 33 "Gather all 14 equations together: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "E1:=:\nE2:=:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "and construct its linear representation." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 229 "Let us look at c3, s3 as on parameters and consider the monomials of the 8 remaining \nunknowns s1,c1,s2,c2,s4,c4,s5,c5 i n the 6 equations. \n1) Notice that on the right hand side, there are \+ the following monomials in s1,c1,s2,c2: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "t1:=<>:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 88 "2) Notice that on the left hand si de, there are the following monomials in s4,c4,s5,c5: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "t2:=<>:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "Construct the line ar representation in the above monomials:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 119 "M1:=PolyCoeffMatrix(M2L(E1),M2L(t1),plex(op(indets (tE1)))):\nM2:=PolyCoeffMatrix(M2L(E2),M2L(t2),plex(op(indets(tE2)))): " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "Check it." }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 61 "Transpose(simplify(E1-M1.t1));\nTranspose(si mplify(E2-M2.t2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*7 6_Y\"-%'MATRIXG6#7#70\"\"!F,F,F,F,F,F,F,F,F,F,F,F,F,%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*_R_Y\"-%'MATRIXG6#7#70 \"\"!F,F,F,F,F,F,F,F,F,F,F,F,F,%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 3 "OK." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 72 "Move the const ants from the right to the left and denote the left hand " }}{PARA 0 "" 0 "" {TEXT -1 68 "side of the equations P and the right hand side \+ of the equations Q." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "P:= \+ :\nQ:= M1[1..14,1..8]:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 64 "Modify the corresponding monomial \+ vectors and name them pp, qq. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "p:= t2:\nq:= :" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "We have 14 equations in 17 monomials of 10 unknowns constructed form 5 angles: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "Dimensi ons(P),`...`,Dimensions(p);\nDimensions(Q),`...`,Dimensions(q);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'\"#9\"\"*%$...GF$\"\"\"" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'\"#9\"\")%$...GF$\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "Check it." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "Transpose((-P.p+Q.q)-(M1.t1-M2.t2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*Ca_Y\"-%'MATRIXG6#7#70\"\"!F,F,F,F,F,F,F,F,F,F,F,F,F ,%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 3 "OK." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "The matrices PP, QQ are semi-sparse:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 ",;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$-%'RTABLEG6%\"*#>G l9-%'MATRIXG6#717+*&%#s4G\"\"\"%#s5GF.*&F-F.%#c5GF.*&%#c4GF.F/F.*&F3F. F1F.F-F3F/F1F.7+%\"*GF6F6F6F6F6F6\"\"!F6F5F57+F6F6F6F6F6F6F7F6F6F8F87+ F6F6F6F6F6F6F6F6F6F9F9F9F9F9F9F9%'MatrixG-F$6%\"*KW`Y\"-F(6#717**&%#s1 GF.%#s2GF.*&FCF.%#c2GF.*&%#c1GF.FDF.*&FHF.FFF.FCFHFDFF7*F6F6F6F6F7F7F6 F6FJ7*F7F7F7F7F6F6F7F77*F6F6F6F6F7F7F6F77*F6F6F6F6F7F7F7F6FKFKFKFLFMFK FJFJFKF:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "The set of equations \+ can be written as" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 77 " P p = Q q \n 14 x 9 14 x 8" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 93 "Notice that P = P(c3, s3) and Q is a constant matrix i f the mechanism and its pose are fixed." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 62 "Split P and Q to two submatrices 8x8 P8, Q8 and 6x6 P6, Q6 " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 69 " P = [ P8 ] Q = [ Q8 ] " }}{PARA 0 "" 0 "" {TEXT -1 57 " [ Q 6 ] [ Q6 ]\n" }}{PARA 0 "" 0 "" {TEXT -1 48 "Assume that Q8 has full rank. Then, we can write" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 28 " P8 p = \+ Q8 q" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 " P6 p = Q6 p " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 36 "express q from the first 8 equations" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 82 " \+ q = inv(Q8) P8 p\n\nand substitute into the remaining 6 equa tions" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 42 " P6 p = Q6 inv(Q8) P8 p" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 42 "which, after moving all to the \+ left, gives" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 42 " (P6 - Q6 inv(Q8) P8) p = 0" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 19 "or when introducing" }} {PARA 0 "" 0 "" {TEXT -1 25 " " }}{PARA 0 "" 0 "" {TEXT -1 40 " Z = (P6 - Q6 inv(Q8) P8)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 7 "we get " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 " \+ Z p = 0" }}{PARA 0 "" 0 "" {TEXT -1 24 " \+ " }}{PARA 0 "" 0 "" {TEXT -1 66 "This is a system of 6 homo geneous linear equations in 8 monomials." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 83 "Constructing Z ho wever, depends on the acrual values in Q. The extreme case happens" }} {PARA 0 "" 0 "" {TEXT -1 85 "when the first 8x8 submatrix of Q is sing ular. Then, we have to select rows from Q to" }}{PARA 0 "" 0 "" {TEXT -1 186 "get Q8 regular. It is still better to select the eight rows wh ich give us Q8 with the smallest\ncondition number because inv(Q8) is \+ then computed most robustly w.r.t. the rounding errors." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 203 " To proceed further, we have to choose a concrete mechanism to get nume rical values in P, Q.\nWe shall choose general parameters of a meachni sm that will simulate a real, \nslightly missaligned 3-2-1 robot." }}} {SECT 0 {PARA 4 "" 0 "" {TEXT -1 25 " Random General Mechanism" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 400 "Mechanism := \{\na1=85, a2 =280, a3=100, a4=0.1, a5=-0.1, a6=0.1,\nd1=350, d2=-0.1, d3=0.1, d4=3 15, d5=-0.1, d6=85,\nlambda1=cos(-Pi/2-Pi/100), mu1=sin(-Pi/2-Pi/100), \nlambda2=cos(Pi/110), mu2=sin(Pi/110),\nlambda3=cos(-Pi/2-Pi/90 ), mu3=sin(-Pi/2-Pi/90),\nlambda4=cos(Pi/2-Pi/120), mu4=sin(Pi/2-Pi/ 120),\nlambda5=cos(-Pi/2-Pi/95), mu5=sin(-Pi/2-Pi/95),\nlambda6=cos(- Pi/200), mu6=sin(-Pi/200)\}:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 62 "Set randomly the joint angles and compute the corresponding Mh" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "rndTh:=Pi*RandomMatrix(1,6) /200;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&rndThG-%'RTABLEG6%\"*Cw` Y\"-%'MATRIXG6#7#7(,$*(\"#<\"\"\"\"#]!\"\"%#PiGF1F3,$*(\"#nF1\"$+#F3F4 F1F3,$*(\"#6F1\"$+\"F3F4F1F1,$*(\"\"(F1F " 0 "" {MPLTEXT 1 0 623 "thetas := map(x->x[1]=x[2],convert(,listlist)):\nPosition := subs(thet as,\{c1=cos(theta1),s1=sin(theta1),c2=cos(theta2),s2=sin(theta2),c3=co s(theta3),s3=sin(theta3),\n c4=cos(theta4),s4= sin(theta4),c5=cos(theta5),s5=sin(theta5),c6=cos(theta6),s6=sin(theta6 )\}):\nMP := \{op(Mechanism),op(Position)\};\nMh := Matrix(4,4,[[lx,mx ,nx,rx],[ly,my,ny,ry],[lz,mz,nz,rz],[0,0,0,1]]):\nMh := map(x->x[1]=x[ 2],convert(,listlist)):" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#MPGF1F2F/F/F1/%#s1G,$-%$sinG6#,$*(\"# " 0 "" {MPLTEXT 1 0 174 "MPh := \{op(Mechanism),op(Mh)\}:\nQx := simplify(evalf(subs(MPh, Q))):\nPx := simplify(evalf(subs(MPh,P))):\nQxR := convert(Qx,rationa l,exact):\nPxR := convert(Px,rational,exact):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "Look at the 8 largest singular values of QxR" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "svQxR:=evalf(SingularValues( evalf(QxR)))[1..8];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&svQxRG-%'RTA BLEG6%\"*s_XY\"-%'MATRIXG6#7*7#$\"?#RoSs*yi.Uqbt&Qz#!#C7#$\"?!RoSs*yi. Uqbt&Qz#F07#$\"?]!)G'='3mh7)ziOnr)!#D7#$\"?&G!>Al/+h`'G#>$)4UF77#$\"?9 @[u1XE&fIM7I2\"\\!#F7#$\"?5=[u1XE&fIM7I2\"\\F>7#$\"?%)3$Qt:_iuL?]!eEVF >7#$\"?u\"HQt:_iuL?]!eEVF>&%'VectorG6#%'columnG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "The condition number of QxR is not so bad" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "svQxR[1]/svQxR[8];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?nACSbhlbf`IgUdk!#F" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 67 "Choose a 8x8 submatrix of QxR which has the lowest condition number" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "First genera te all possible 8-tuples from [1, 2, 3, ..., 14]" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "ix := choose([seq(i,i=1..14)],8):nops(ix);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#\"%.I" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "then compute the condition number for each 8-tuple of row s " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "cnQxR := map(x->[QxR[ x,1..8],ConditionNumber(evalf(QxR[x,1..8])),x],ix):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "and sort them according to their condition numb er" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "scnQxR := sort(cnQxR, (t1,t2)->t1[2] " 0 "" {MPLTEXT 1 0 96 "scnQxR[1][2];\nix8 := scnQxR[1][3]; \nix6 := convert(\{seq(i,i=1..14)\} minus convert(ix8,set),list);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?;B8>E]JP+:iAj!f*!#F" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%$ix8G7*\"\"\"\"\"#\"\"%\"\"&\"\")\"\"*\"#5\"#6 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$ix6G7(\"\"$\"\"'\"\"(\"#7\"#8\" #9" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "Selet submatrices Q8, P8, a nd Q6, P6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "Q8:=QxR[ix8,1. .8]:\nP8:=PxR[ix8,1..9]:\nQ6:=QxR[ix6,1..8]:\nP6:=PxR[ix6,1..9]:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Construct matrix Z" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "Z:= Q6 . MatrixInverse(Q8) . P8 - P 6:\n`Z = `, ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ %%Z~=~G-%'RTABLEG6%\"*'*=aY\"-%'MATRIXG6#7)7+*&%#s4G\"\"\"%#s5GF/*&F.F /%#c5GF/*&%#c4GF/F0F/*&F4F/F2F/F.F4F0F2F/7+%\"*GF7F7F7F7F7F7F7F7F6F6F6 F6F6%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 75 "We have 6 equati ons for 8 monomials but also recall that Z contains s3, c3:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "indets(Z);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$%#c3G%#s3G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 69 "We will now proceed by choosing a different circle parameterization. \+ " }}}{EXCHG {PARA 0 "" 0 "" {OLE 1 30730 1 "[xm]Br=WfoRrB:::wk;nyyI;G: ;:j::>:B>N:F:nyyyyy]::yyyyyy:::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::fyyyyyY;nY^:f:n:v:>;F;N;^;n;f;;JyKyyyywYF =F=N=V=nYf=n=v=>>AFANAnYvY:::::::::::::::::::::::::::::::::::::::::::::JcvG YMt>^:fBWMtNHm=;:::::::nGftddsH_b]::JJ\\XdUSvUj] Aj;JZH;<:=ja^GE=;:::::::::N;?R:yyyyyy:>:<::::::JDJ:JbDFGW=;K\\vGAmtfGEMqJ:>::::JNN:yyyx I:;Z::::::JB b:B:=d;Oc>_c;?;>D=L_^BSlZ>Z:>:@jA Nx=^\\;jQ>sI^;>@_x=C:=B::iw=C<=LsFG=Mp>:stcaJ^eV@:GbB^nI>;>J;\\:vY;jLyJ@J:B:Mw=O:I:?j:JZDZ:>Z:v:vyyyw:>Z:>:vYy yy_:;R:R;b:G Bv;[:^ZBj;j>>:?:=:I:?:CB:VJQBv[C:r;FZ:BZ :vy;>;Kj:DJ;B<;D:wRv[J::ay:cJ:^;;J::N:^=>:eB;c:ow^[gwdVGimPYJDYfDQM=R:v;oy: I]:>:wy:AJ:>Z;B:;RyABGBQ;Z^[V[^[:ZraaxwZNxnMr;B:<:BNwyypxyyi;r>:duAZEX\\JJ:R=C BZ@>Z:B:dtAd:@:Z:B>xCR;>Z:bdZ;J:Z:ZdY :>ZIBxAbpMB:DZiYZRZ;:?r;MBZ:rxyxNxyFU`FY@`Sm:`S`yiFasyuFa CmxtmxiZ;>ZXqxk]:b_TC;B:xIpR]yY:Z:ryXim^sFuy[DN xyF=ZZ;Jxyyyi:NeRsyyY`^f\\SUYukvY;jy=J:<@B:;BZ;B:;ryyyyloIrq_x^lvS bimERxiStn?W@<@J:R`;ryyyyPT`yuyIY:^Orq;X]lrwZyiY;B:; bB>Z^?:;rblAPZy];bB;[^[:vy :>Z^C?BpBJJ:X:xyyyH;B:ryxyy=L: ZAZyyyiM:<:xiyyyFB::EZ:CJ>:;j:;BNHdL[?J :@j>J:@J:B:R:@j>J:@ZZFZ:>:;b:@j>J:@Z:OZ:>:;r:@j>J:@ZZWZ:>:;B;;R:M:;R:< R<ZZ?Z]D=;Z;B:<:Zjsbt=P:<:b:l[;>:<:DZRb:L:<:D:xZF^ZFf:xZ<>x>f:<[B>xBB:;b;>:CJ: xZ=>xV`:B;[IDR:`Jr=[:>:::b:dJr]:ZIZL]L>ZD:DJZ:D keDa=r[@Z:RZ=Z:>[=L:>[yHZ;R>[:B>[I<>ZgDB=BReRYAr= @Kr=K:xNC:;B:xc>Z::\\tA<<;rJSUTAuT;CWYEBEESMEW;SM=u VcUS_EBcUTcEUEEBaEWmEUE]\\x[@B:@L:B:bdJ:@<@Z:B:x:Tk:>ZL>:Z=^:N;HbEBF>Z y[?ZjaiVHZ;HZ>J>HBxE;R>[:B>[I<>ZjYZZFZZs>Yr=;R>[I>;B:; Z==@:DJ:ls:R=tC:JJ:RSkEW;sVc=aU=aTSAuUWES;CUEeWEEUUBO KUT_ES;CUZ@wgoOhn?gZ^g_;`PmLQn<ZM[; B::Z>^:N;HBJ:xAPZ:DcQCa=RZJ>HB>[yL:@[:I:xI`:D:KB:Z[x[NZ< Z::D:blb>;:R;C:OJ:HBJ:xAP:lJ@ls::KrZJ>xE;R>[:B>[I<>ZXCfIBnWb\\[r=@Kr=K:Z:raJ:L:Z[d?R:D::J:T:N;;rZ:;rYR;B ushYIRZ=B;HB>[yL:@[:I:xI`:D:KB:xJ>Z:>:HFB;> ZBNZVH:pZLK:Z[Z:B:DZHZRy[>Z::dDb:;:R:C:SB:HBJ:@b:>:KrZPZ:>[MHZHxmED_=bquGTxu:D[Lry=J:\\J:Lj;`Z:rIAR :@J:<[jy:;J:xI;B::;r\\>:;Zeq_BZPpZAIZjAlSa]Zbhl;;BKP``SRPafCW<\\>[mSTXP:t`IbuABC?Zj:B:XJ:lJRxZFB_=B:;r=;b:[I]=ZZ>ZB>Xr:J>>ZIr:[IC=ZIB;\\<;R: ;R<[a:>:::b:d:B:KB:PJ:>ZIZlC:;b>d:>Z<>;ZMsBZ\\Xouq=xu:@J: @ZyIZ;Z;VZ<^:>ZJ>xBJ:tm<xJ:@Kr=K:>:HFB:r=tq=xZGB=B:tsAL:<:xZ> :;b>:H:ZM;rY[A;B^MBRABBaBrUr=;R>[I>;J :rjZ;>:<[xw:p:B:tCR:>ZIB;\\>D;Z;>;;J@rZBF>Z;L:>[=v?xmlIyI?gJVoK@;QsCaWp[K:ENZ:JjB:CJ:>h: >Z:>;;J:C:MB:;JBC:_:s>O:;`:^;^s:j@Jf=:YJ:;VdfGg^gfZF@w:K: [TJJ:n=>;>D:EB:altfGUmjNHmE:MLqnFYMsfg:JtFGYMq>:;::::>??R:KJ:f:;B:yayA :<::::::u;sR:>Z:j<^BYmk:EE:WMtVDjpFF_mv:G=_mpJtFGnG;J::>A?j;>:yay=;Z:: ::::J[JnA:<:AD:eMsNHE=cMJfDamlNH;B:;::::::JGNZ:vyyuy:>:<::::::=:_;;:=j [vGUMrvC?MoJ::::::::JCN:=B:;J;>:yayA:<::::::Q:n=^:b:B:;fNsY=;Z:>B:::=:?RoUXosfEqB>av_KjOllvuTRB:kW:><;B: =:K>AB:>L>:cH:F;^UN;^Vv<;Jpk?>:cA[Z:^Y;jC<: CR:n<;J@@:UJ:^\\;J@<:gT::V:>:V:>:V:>uRV;Q:;:Q:;:Q:;:Q:;:wB>;J<;Vdf;^[JJ=J I<:Q:GtUWEWaEBetVEESH:D:t;<;;BKZZ^d_ggj_g[_h_s:R:bA>ZGZM;LonLQpVh:V:F: >:::::nX>:cB:ve:ILEv=d;;K:[D:=D:O:;::F:wyyAb^M_G>ZIJ:VdJOh_Wh_ognGfnGgiog:V<>di;JQHOp`@WCHLyVD urJ::::VZ;>Z;>ZJBvI:;ry>::hHb_GZjnmVa=DqEZ;BF>:xo;RJU:;RwYBA>Z:ZShZgw;@Z: >Z=>:<:::::?ja^g:fF[D:_E:Ems>`:>@>Z::::::::kJ;v:n:;jysy;J:<::::::s:?HI B:F:Y<>Z:>:::::::::J?B:yay=J:B::::::nYyyyB:::::::::::::yay=J:B:::::::: :::::::::::jysy:>:<::::::::yayYZ:J:yayQ:>:^mkjTP<;FI:CJ:VZ;>;EZ:V[>:oi:EJ:>:yACB :f?=JAJLHjqENsB>Qyyyyyy>;;Jw?Z:>Z::^:f??j=JxkyC:;JZ::::::::::::::::::::::::::::::::::::::::::::jA>w=Vn =j:Fw=>?>jPJj=[:>V>Jf:N;>::=J:>:@jANX;U:;jQ>SSZ:>@_P<<:=B::i? Fb:NHMmj^G;jj^HMmk:;JRJThsC^`UX \\:vPj`:[Kc;c;s];B\\v::;B:;jAJ;b:v Yyyy_B:>Z;Z?B:;S:;S:;Z:R;>B;d:f=>f=B::?:=J:v:N:><<[JZAj:>ZBf R>Z:vy;>;Kj:DJ;>ZB>b:n]kA\\:>Z:^:FZ:B:;:J;B:yJD:;jD:ow^blfOblF:v;oA;B:;JyI:>Z;B:;R yZV[^[V[^[:ZraaxwZNAkM>ZAZ:B:ZJoyyUuR:;r>;BVhy;>:<:BV;:>Z;Z:W;xZB\\ :r=dBZE<;ZG^ZB>::raZ@>Z:B:dDR::Z:>ZyyY;Z:BZ;FZ;J:rhHHB:mV``C<@B:;ryZ:b_g>;B:hyiI_yIm`CmaC:`Sm:`S`yiFasyuFaCmxD<@J:tGB:TcPL:O<`j=;ry`G< ZqsWdJsymF:;BRZ:>:;^yyyyE:o\\yyySLlD`gwGvY;jy=J:<@B:;BZ ;B:;ryyyyl_:rq_`F]x\\yU`HG<@J:R`;ryyyyPT`yuyIA:;:xIR`Hx okS`c@[`_SZyyYXA@GZ`ofStybIl_yyYZLcCxiyUEP[YArGD]q]IxElVT=J:lRIK:HdxZ;>ZyiY;B:;bB>Z^?:;rblQ:R;xI@J:DLJBSB:yI:;BSL;\\W:BJ J:X:xyyyH;B:ryxyy=L:ZZ>Z]dUR;xIZ:B:BJ?Z:>ZAZyyyiM:<:x iyyyFB::EZ:CJ>:;j:;BNHdL[?J:@j>>:;R:;Z: Z;R:M:;R:ZZ=R:M:;R:Z>R:J:@Z:`Z:>:;BR;rblJ :R:;B;B:b:r=lZFZIb:[I;B>\\Jr]Z:>Z@J:^:;r=HJrmS>xbZ ;R<[I>ZIZL]L>ZD:DJ<idV\\;B:@r:B :KrZ>:Kri>ZKBj@Z:>[y]C>Z;NZ<>:KB:xJ>Z:>:HFB:R:lCpJrM O:Z L>:Z=^:N;HB<=;rYR;BvsEa:KrZB:Kri>ZKBj=Z:>[y]CZxBJ:>ZK>x J>Z:>:HFR:b:;Ba=ZGbaB:xC>Z;Z:BdD?;rJ::;;Z_[m;aU=rU>>j@LOnBS:TnqNH^GZc; Z:bbt[:RBB:pJ:ZFZ>Zd<;rN;B:@Z:B:xZ>Bl:Z>^Z:J?rZ:;rYR ;xE;R>[:B>[I<>ZXw;=BRGJBxZK>xJ>Z:>:HFb::Z?^:N; ;rZ:;rYR;B=SBa:KrZJ>xE;R>[:B>[I<>ZXCfIJAdbIR>[I>;B:;Z==HZ :RZ>Z:BbY:d<;RbTK:R:D:;:>Z@:OJ:HBJ:xAP:lXhSZ=B;HB>[yL:@[:I:xI`:D:KB:J:\\J;ls:R=D?;B:xCB;B:[:b:DZ:B:DZHZRy;B:Zd< DZ:R:B:xZ>BLZ;D:;J>Hb?B:Kr^=b]ZXiQxeLb>xy:>ZB>Z>VZCB: xm;@Z;>ZJBvIJ:>ZyM::dE[mSTX`hs=th?F;;b:xH>Z:ZI> \\:>::;F:ZFr=lZo?;xJ:DJrqP>BB;B<[A;R=r=KB:;r=;r:[Y;K:LZbJ:@J:`JrK: ::Z[:R;;J:x:l`:bFd:>Z>>;N;;r^bGR[DZ:>ZAT:[=D:;J>xe:B>[MbB]i;[I<Z>BMbJ=b<[I< R;K:OZ]s[yE@\\[;:X>Z\\nZtG[In\\\\nZIB;Z<; b;KB:N;:BKZyC:@Zy\\J>Z:=Kry\\;:X>ZpspYrpYBbQr=;B;Z<;r;KZ:P;:BKZyC: @Zy\\J>Z:=Kry\\;:Z:=Kry \\;:X>Z>upYRf_bBZjL:DT@dJr]:`J>J?rb;r:xe<>Z;BjJ>xi:J:@:>;;B>[A;rIErR[b?]bCGr=pZ>C:;B:xCB;;B:Zk ?X;RbL;DZ:B:ZZd<;b:R:B:x:t?;bJ:;b;xA@Zy\\J>Z:=K rlZHIZ:D>ZE>[:BJO::L>rYR:xE [E=tF>ZQ]:>Zy=:KB:QZIB;lk:bb:lJ>J?rbBIBZLrMuq=PB>ZAHBri<[J>Z:=KryJ:@:>[MbBZyH:<@;B>[a:>ZEoZPO\\of\\lvZIR=Dd:>Z:raZ>B::H`Z>ZwBB;rRx`mCD@Qra\\:>Z[DCr<;B:<:B<;J:<:@Z:>Z:BZ@ZHBriB>[y=;R:J>H;ZyH:<@;B>[a:>ZvNZ@f[wx[]VZIR=\\B:;B:R:Z::ddfB:\\:;b;R[:J?>:h:BZ\\jvtq=PBr[Zy@:DZ;D;>[=xI> Z;:KJ:Z>Z:BdYR;`f>icJOoj:>Z:F:> :Y:SW:;JK;B`:B:;NNDRyXjY=J;N:=>\\j;K:\\jYKB>RB:KOG@J:>iiF`ZfaZVhi>_kV_]G_Gf[m?^w>^r?_kV?JiD mOHPiDmX@m@pJvtOS\\lRh`Gf [bF`e>iXSDAeQ_kON`Z>iXO`ZVfZV_Z>iXkPBBuKRpj@HPJp]Ug_l>iXkOVhkOhn?_n>^r oen>^g>^n>^bF`eZc>_roelf_kF_cfei>_l>_k:MSD;S=U::<<_ks@A@mNpoQhOS\\lRZc feGf[][Z>_g>^roel>>@mNCN\\:N;j:\\J:Z:VJZ:FJ;ZBVJEZBVL::_J CvY;J>xAB::;FZ;F:<:qok;;R`FMv;K^:jANK D[LdJRZ:jo;g>[caJsX[:B:=B:[[:jOIZ:fkGB:Z:>:^Mf@bX>:IJO]:f:;;JwEjZ::^:f??j=JxkyC:;J< jPV:C:Iky;wJ>JwKTjcIJATjjIJCTJq IjETJxIJHTJ?LjJTjELjMTJLLjPTjRLJTTJYLJWTJ_LjZTjeLJ^TjkLJbTjqLJfTjwLJjT j=MJnTJCMjrTJIMJwTjNMj;UjSMJ@UJYMJJUJc_p@nv>vq@vw>Ns@Fy>ft@FZ?>v@N[?^W _R;ii;qR;Ar;?S;Yr;OS;qr;]S;Ks;kS;es;yS;=t;ET;Wt;QT;st;]T;Mu;gT;gu;sT;C v;;U;_v;EU;;w;MU;Ww;UU;sw;[U;Ox;aU;mx;gU;Iy;mU;gy;qU;EBF[DFo>N\\Dnm>N]DNl>V^Dvj>V_DVi>V`Dvg>NaDVf>FbDvd>>cDNc>vcDna>fdDF`> ^eD^^>FfDvdJWAJ:djQA JuaJLAjkaJBAJaaJx@J\\ajs@jVajn@JQajjVnC>e;vlC>d;VkCvb;>jC>b;VhC>a;vfCF `;VeCN_;ncCV^;FbCf];^`Cv\\;v^CF\\;N]C^[;^[CnZ;vyBNZ;FxBfYAIqBvWOGXCJ:^:f?CB::EJ>jLHJ;vw>F`=fiEF`=^Z:>:UK;:V:Jr;v>:w:NY:;:C:UK<:f:jL J[\\jXNbBn[@^Z:>:UK;:V:Jr;v>:w:NY:;:C:UK<:f:jLjsQjRHJXaJr@J<>:UK;:V:Jr K:^:f?C:j<:E;sW<[M[\\jRHJX:I;sB:;B:qi:ewy]:^Z:J;@j:f:F[<>:;b:MJ:Z:^=;jw_:sg:bu=b:?bBaTXaEWEUU;B:;B::kB:;J;fvf:^:f?;j=>:sQ:>Z::C:UK<:GR:?JO]J:>a?n`:^Hw?Fi;nqC:fqCNi;fqCVi;^qCVi;VqCVi ;NqCNi;NqCFi;NqC:Jv@JWaju@jWaju@JXaju@jXaju@:nqC>i;nqCFIw?Fj;nqC:?V:uo ;AjXa:sWj;NQVqCvi;^qCvi;fqCvi;J:AJY?j;j:oQj >AJY;OV:uo?AjXa:so?AjWWk;NQQV:Nk;NQMNW;J>AjWaj=AJXwj;fQIV:>k;nQMNY;JCA JYa:Vl;fQaV:^l;^qC^l;VqC^l;NqCVl;NQJCAJW;]V:oOBAjW?l;^qC>l;fqC>l;:woBA JYOLw?Nm;nqC:qV:uOHAjXa:sWm;^qC>m;f qC>m;jFAJYGm;JGoQJKAJY;AW:uOLAjXa:sOLAjW_n;NQCW:Vn;NQ?W:o?:=W:qW<;W:sO JAjX?n;jJAJYONw?:QW:wWZZ[[` uwHJWa:>[=NqCvZ=VqCvZ=^qCvZ=fqCv Z=:wW\\=NQVq Cv[=^qCv[=fqCv[=JBHJY?\\=jBnQJGHJYa:jXW]=fqCJX_]=VqCV]=NQqr:N]=NQ:F]=N Qkr:qWX;J< jMj;<:w::C:^:C:GJ;AWKDHooqNQVQWMXoGjXoGvGwoqJrnQ]U:uOs@jXKXOHjSaJs@::_W<_U:F h;FpC>H_Wh;FoCvg;NoCvGng;VoCnGJPaJqfoCvGUWHEW<]M LaJs^nCjKOHJGaJs:jFaJs@JFajr@JFaJr@JFajq@jFajqNmCnGoV<:qVaJs>kCNh;jr>kC>HKVa:MVh;^kCFHQV<_m?a:ONs:=V<_=:;V<_U:yU<]U:yU<[U:yUHAV<]U:AV<_M;aJsFJ_=FiCNHJv`Js:iU<]U:iU<[U:i Uh;ViCFh;ViCNHoU<_mvNHjr`Js:[U<_mq`Js@: ]U:YU<[mq`jqvgCJr`Jq@jr`Jq:_UgCnGKU<:MUG_=>fCNHj i`Js:wT<]Mi`JrneCvGyTh;NfCFH?U<_mj`Js>F_=>eCN Hje`JsndCNh;jrndC>HgTE_=vc CNH:ncCNh;fcCFHUT<[m``jqncCvGYTH]T<]mb`Js>dCNHY Ls:IT<_=nbCNHj\\`jrfbC>HETHuSbCnGvG=TbCNH;T HkS<]MV`Jsv`C NHgKs:WS<_=f_CNHJP`jr^_C>HSS`CvG[S`CFH[S<_mQ`J sn?_=n^CNHjL`Js^^CNHFHCS<[ML`jq^^CjL`Jq@JM`Jq:IS_CFHIS<_mM `:GKs:uR<_=:sR<_mG`jrV]C>HqRHaRHGR<]M=`Jsf ZCNHCJs:sI<_U:sAqI<_U:Jw]jr@Jw]Jr@Jw]jq@jw]jq@:WU:sIh;nyBFh;fyBNh;fyBJxOHJt]Js@:VxBNh;NxBNh;jrNxB>h;NxBvg;NxBjs]Jq@Jt]J q@::eIh;nxBFh;fX_U:cQs:jo]Js:OI<_U:jn]jr@jn]Jr@jn]jq@Jo]jqJ q@jo]Jq:SItBFh;> T[Mb]jq@jb]jqJq@Jc]Jq:aHsB Nh;jr@J^]Jr@J^]jq@J^]:MHrBjZ]JqNrBnG:VrBvg;^rBvG>HCprVrBNH?Ps:jV]Js:kG <_=vpBFh;vpB>h;vpBvg;>qBvGng;FqBnGJW]JqVqBvGqGpBNHYG<_U:Fh;voB>h;voBvg;voBJR]Jq@jR]Jq:_GHIGnBNHjI]Js:wF<]U:wF<[MI]jqvmBvGng;>nBnGjJ]JqNnBvG?GmBnGjF]JqjqNmBvG>HoF<]mF ]JsFmBJFOHJB]Js:YF<_MA]Js@:]U:WF<[MA]jqnkBjA]Jq>lBnG:FlBvG]FH]F<] U:]F<_MBOH:vjBNHJ=]Js:EF<]m<]JrfjBvGGFkBnGMF]:>HMF<]m> ]Js>kBNHINs:yE<_=niBNHuE<_=]mx\\JrfiBvGuEH=F< ]M:OH;FiBvGkEHkE <]Mv\\JsvH_=:WE<_=fgBNHJp\\jr^gB>HSEhBvG[EhB FH[E<_mq\\JsnG_=nfBNHjl\\Js^fBNHFHCE<[Ml\\jq^fBjl\\Jq@Jm\\Jq:IEgBFHIE<_mm\\:GMs:wD<_=feBNHsD<_=]Mh\\Jr^eBvGsDHiD<]me\\JsndBNHeLs:UD<_=^cBNHQD<_=]m_\\JrVcBvGQD<^cBnGUDHGD<]M]\\JsfB_=:CB:;B:GR:=:;jPV:<:N:C:[Q:^:v^;vYCB:;Jr_ :AZ:n=IB:Z:^:f?;:j:Z:BJDlZDqn@Pp::::JZ:^:f_;nZ::[As:qAB:>L>Z: BJD<:;::::^::_;Gc;B:<^\\:J:::::CZ:f?CJ=J;@:j>Z;b:;BJDj`^hbkjFg]GfkZ::::CZ:f?CJ=J;@:j>ZC :WK:;B:<^\\:J:::::CZ:f?CJ=J;@:j>ZXV:n=CB:f?;:j:n;^>>s@N_;>s@NN_C;B:<^\\:J:::::CZ:f?CJ=J;@j:f:F;b:aB:;JSFj;vv@>[:B:aEBuks`Pq\\L MX^=VYZ:JBK:DJ:b:U\\b;M=B:::J<:_;sx;=B:FH^:n?;B:C:UK=:[As:qAB:>L>Z:BJD<:;::::^:X^=VYZ:JBK:::::JZ:_KBDj:Yj<>:KCFSCXMSTmB:OkD:C:UK=:[As:qAB:>L>Z:BJD <:;::::^:Z:N@gb:]m@iiBBu[ijOHpN@JLf:C:UK=:[As:qAB:>L>Z:BJD<:;::::^:Z:N@Oh:]E:OB:;B:amX>ibF`eJMfN?n>^:n?;J;B:<^\\: J:::::CZ:f?CJ=J;@:j>Z:_KyHjr>:aeQ_sDRI]SDGKKJOX^=VYZ:JBA:;B:<^\\:J:::::CZ:f?CJ=J;@:j>Z:_kSLjriXO`bF`eJiDmO:EkK:C:UK=:[As:qAB:>L>Z:BJD<: ;::::^:?;^:n?;J;B:<^\\:J:::::C Z:f?CJ=J;@:j>ZL>Z:BJD<:; ::::^::_;QC;AB:;jRp=OKPN?C:WK:^:f?G:>X^=VYZ:JBK:< Z:cB:>::::J_kV_roEMsRwdFh\\l>^roE;s R;sD;CXw\\:F=OKPf>jFv^::eJPfX^=VYZ:JBK:::::JL>Z:BJD< :;::::^::]CBuKR`PO;B:<^\\:J:::::CZ:f?CJ=J;@:j>Z:C:UK=:[As:qAB:>L>Z:BJD<:;::::^:JSJ;@j:>:UCikB:JQ >:C:US:G:>X^=VYZ:JBK:::::JZ:_;oR:_B:;Zr [erV]eVcEDcCBkeQcCBOkLJOf:C:UK=^:>X^=VYZ:JBK:::::J:C:US:G:>X^=VYZ:JBK:::::JX^=VYZ:JBK:::::JL>Z:BJD<:;::::^::_;_U;[B: F=mjD^:n?;J;B:<^\\: J:::::CZ:f?CJ=J;@:j>ZZ:^:f?G:>X^=VYZ:J BK:::::J:C:US:G:>X^=VYZ:J BK:::::JZ:\\A;sDD]mGHF`cfeiVEKSF jNpOO;B :<^\\:J:::::CZ:f?CJ=J;@:j>Z<><^bn^:JPfL>Z:BJD<:;::::^:JSjG@j: :C:US:G:>X^=VYZ:JBK:::::JZN@Fc;^<;JvN`ZV? ]SD;sE;CDI`lLN>OkD^?N?mjDf<>]:jD^?f>jF^:n?;J;B:<^ \\:J:::::CZ:f?CJ=J;@:j>Z:_KpFh:F^:js<i Zv_Z:\\ATJMejFfeJFfjF^:n?;J " 0 "" {MPLTEXT 1 0 107 "x:=subs([s4=(2*x4)/(1+x4^2),c4=(1-x4^2)/(1+x4^2),s5=(2*x5)/(1+x5^ 2),c5=(1-x5^2)/(1+x5^2)],p):\nTranspose(x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*g[aY\"-%'MATRIXG6#7#7+,$*,\"\"%\"\"\"%#x 4GF/,&F/F/*$)F0\"\"#F/F/!\"\"%#x5GF/,&F/F/*$)F6F4F/F/F5F/,$*,F4F/F0F/F 1F5,&F/F/F8F5F/F7F5F/,$*,F4F/,&F/F/F2F5F/F1F5F6F/F7F5F/**F?F/F1F5F " 0 "" {MPLTEXT 1 0 53 "y:=ScalarMultiply(x,(1+x4^2)*(1+x5^2)):\nTranspose(y) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*[!\\l9-%'MATRIXG6# 7#7+,$*(\"\"%\"\"\"%#x4GF/%#x5GF/F/,$*(\"\"#F/F0F/,&F/F/*$)F1F4F/!\"\" F/F/,$*(F4F/,&F/F/*$)F0F4F/F8F/F1F/F/*&F;F/F5F/,$*(F4F/,&F/F/F6F/F/F0F /F/*&FAF/F;F/,$*(F4F/,&F/F/F " 0 "" {MPLTEXT 1 0 107 "qy:=simplify(Z.y):\nmy:=PolyVarsMonomials(M2 L(qy),plex(x4,x5)):\nMy:=PolyCoeffMatrix(M2L(qy),my,plex(x4,x5)):" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "There are 6 equations for 8 monomi als and 2 variables in My:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "`My = `, ),spy(My)>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%&My~=~G-%'RTABLEG6%\"*7QbY\"-%'MATRIXG6#7)7+*&)%#x4G\"\"#\"\"\" )%#x5GF0F1*&F3F1F.F1*$F.F1*&F/F1F2F1*&F/F1F3F1F/*$F2F1F3F17+%\"*GF:F:F :F:F:F:F:F:F9F9F9F9F9%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 133 "We can add three more equations as follows.\n\nWe see that when m ultiplying all 6 equations by x4 adds 6 equations but only 3 monomials " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 "mxy:=convert(map(f->f*x 4,my),set) union convert(my,set);\nnops(mxy)-nops(my);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$mxyG<.\"\"\"*$)%#x4G\"\"$F&*&F)F&%#x5GF&*&F(F&) F,\"\"#F&*&)F)F/F&F.F&*&F,F&F(F&*&F)F&F.F&*&F,F&F1F&F)F,*$F1F&*$F.F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 50 " We thus get a system that generates a constraint " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 130 "qyy:=simplify():\nmyy:=PolyVarsMonomials(M2L(qyy),plex(x4,x5));\nMyy:=PolyCoe ffMatrix(M2L(qyy),myy,plex(x4,x5)):" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%$myyG7.*&)%#x4G\"\"$\"\"\")%#x5G\"\"#F**&F,F*F'F**$F'F**&)F(F-F*F+F **&F,F*F1F**$F1F**&F(F*F+F**&F(F*F,F*F(*$F+F*F,F*" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 9 "Check it." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "Transpose(simplify(simplify(>)-qyy));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*![bl9-%'MATRIXG6#7#7.\"\"!F,F,F,F,F ,F,F,F,F,F,F,%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 3 "OK." }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "There are 12 equations for 11 mono mials in My" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "`Myy = `, ),spy(Myy)>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%'Myy~=~ G-%'RTABLEG6%\"*%Qel9-%'MATRIXG6#7/7.*&)%#x4G\"\"$\"\"\")%#x5G\"\"#F1* &F3F1F.F1*$F.F1*&)F/F4F1F2F1*&F3F1F8F1*$F8F1*&F/F1F2F1*&F/F1F3F1F/*$F2 F1F3F17.%\"*GF?F?F?F?F?F?F?F?\"\"!F@F@F>F>F>F>F>7.F@F@F@F?F?F?F?F?F?F? F?F?FAFAFAFAFA%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 119 "Since myy = [ x4^3 x5^2 , . , . , .... , 1]\nis definitely not a zero vecto r, this system has a solution if and only if\n" }}{PARA 0 "" 0 "" {TEXT -1 44 " det( Myy ) = 0" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 80 "Now, recall that s 3, c3 apear in elements of P, thus P6, and therefore also Myy:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "indets(Myy);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$%#c3G%#s3G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 53 "We will again reparameterize c3, s3 into x3 as above:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "Transpose(simplify(simplify(>)-qyy));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*7VcY\"- %'MATRIXG6#7#7.\"\"!F,F,F,F,F,F,F,F,F,F,F,%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "Parametrize s3, c3 by x3" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 76 "Mx3:=simplify((1+x3^2)*subs([s3=(2*x3)/(1+x3^2 ),c3=(1-x3^2)/(1+x3^2)],Myy)):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 56 "Notice that Mx3 contains second order polynomials in x3:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "mx3:=PolyVarsMonomials(M2L(Mx3),ple x(x3));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$mx3G7%*$)%#x3G\"\"#\"\" \"F(F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 99 "Compute the deteminant \+ giving a plynomial in x3. Do not forget to normalize not to loose prec ision." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "dx3:=Determinant( evalf(Mx3)/3000);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$dx3G,T*&$\"?B@ M&=?c<&o9tOnpV!#J\"\"\")%#x3G\"#CF*F**&$\">mM9;r'[\"yNxGIVF#!#IF*)F,\" #AF*!\"\"*&$\"?wLl&ovEwZ(RSh]:9!#GF*)F,\"#?F*F**&$\"?@G,h\")\\-M`.!f;F1F*F,F*F4*&$\">2E*\\;d$pV'\\. $o09(F1F*)F,\"#7'4Z2u[t*o>UZ^J\"F1F**&$\"?uw]mg)=y4\"=!=k7'z! #HF*)F,\"\"&F*F**&$\"?LMb9]iyF'\\IiXZM#F8F*)F,\"#>F*F4*&$\"?+0$)3a\"4L m$fl0$>&\\FMF*)F,\"#@F*F4*&$\"?'y;'GCk4cL>ZZ$)>bF1F*)F,\"\"$F*F**&$\"? ;Wtmg,'4JB<*opD$*F8F*)F,\"#9F*F4*&$\"?%31'z,5C'[&zF:UWXF1F*)F,\"#BF*F* *&$\"?&Qrt]pD#=1#Qt?$*G#F8F*)F,\"#=F*F**&$\"?;^27&=3heSQx%*p6&F8F*)F, \"\")F*F**&$\"?^n,\"pL;*eu\"4#fA0#)F8F*)F,\"#:F*F**&$\"?+7vHj>i,*Q#4d' 3w%FMF*)F,\"\"%F*F4*&$\"?J*y:NA&pU(=G:P(pUF8F*)F,\"#;F*F4*&$\"?bAh[Jr7 Z#=%*z7tq'F8F*)F,\"#6F*F4*&$\"?@p*G13fU8\"))3v)Rl)F8F*)F,\"\"*F*F4*&$ \"?5SoqspFKxr\\7lShF8F*)F,\"#8F*F**&$\"?y%)*)[Wxb?&o6'G-V'*F8F*)F,\"#5 F*F**&$\"?$HQiDq$*3TSpmK9'RFMF*)F,\"\"'F*F4*&$\">f/S+1**e@9C%Q!))o%F8F *)F,\"#7F*F**&$\"?fB,`N9zf/#fUicZ\"F8F*)F,\"\"(F*F4" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 46 "Normalize to get 1 at the leading coefficient: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "dx3n:=dx3/LeadingCoeffi cient(dx3,tdeg(x3));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%dx3nG,T$\"? %)Q#)epc`J[i;ar4I!#I\"\"\"*&$\"?++++++++++++++5!#HF))%#x3G\"#CF)F)*&$ \"?IW&yk0VWoH)*z0[?&F(F))F/\"#AF)!\"\"*&$\"?I7yLOFD\\j1&Q'QRK!#FF))F/ \"#?F)F)*&$\"?LP(eK\")=k'3c\\$4K@\"!#GF))F/\"\"#F)F)*&$\"?c#\\u7oV-5df EImz$F-F)F/F)F6*&$\"?`OmE^G;\"zL-N>Tj\"F-F))F/\"##=F:F))F/\"\"&F)F)*&$\"?`h\\Y.-rcboB8&fO&F:F))F/\"#>F)F6*&$\"?qR P%))Hfg33Q^\\K8\"F:F))F/\"#@F)F6*&$\"?;y58'3+]!z94W@j7F@F))F/\"\"$F)F) *&$\"?20IEE`C%p6w6'=M@!#EF))F/\"#9F)F6*&$\"?!oyRF'RGW2t`5**R5F@F))F/\" #BF)F)*&$\"?([![fG')3Ik'=W6\"R_F:F))F/\"#=F)F)*&$\"?c41D/i&47hYYC5<\"F \\oF))F/\"\")F)F)*&$\"?&fD$QE$Q+w7)*Gmx(=F\\oF))F/\"#:F)F)*&$\"?`9Y?*z E.7lNJC&*3\"F:F))F/\"\"%F)F6*&$\"?zNZC**eAc]3K_Hr(*F:F))F/\"#;F)F6*&$ \"?bdW5WFG\"G)G5)o\\`\"F\\oF))F/\"#6F)F6*&$\"?yR8:4;(=&Qp(Rl/)>F\\oF)) F/\"\"*F)F6*&$\"?F!\\ " 0 "" {MPLTEXT 1 0 30 "Cx3:=Compani onMatrix(dx3n,x3):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "x3s:= Eigenvalues(Cx3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$x3sG-%'RTABLEG 6%\"*#zbk9-%'MATRIXG6#7:7#^$$!?Q\\LT&=$zE3A*z_j=\"!#H$\"\"!F37#^$$!?[h h4pW<=fblH)G=\"F1F27#^$$\"?92kUi=-<$3`ndKF\"F1$\"?to9iMy*G[(=jm#>]\"!# I7#^$F:$!?to9iMy*G[(=jm#>]\"F>7#^$$\"?I13RS#4.(4S]#*3t')F>$\"?4S3#RYh) 4g+ucdEiF>7#^$FE$!?4S3#RYh)4g+ucdEiF>7#^$$\"?I&**G$\"?) Qqu!p417wRJ>LIhF>7#^$FO$!?)Qqu!p417wRJ>LIhF>7#^$$!?6r-%>Zi\\!>G!)yklTF >F27#^$$!?Iuw$ySUFX*p@1STTF>F27#^$$\"?&[y'=5%p`*)>x8hM.'F>$\"?w#G;V*Hq 5DRu!H%G7!#J7#^$F[o$!?w#G;V*Hq5DRu!H%G7F_o7#^$$\"?J^>7F 27#^$$\"?Q=MFcx\"3lV*)Qz_u\"F>F27#^$$\"?+++j'=2?mOf%=sTD!#O$\"?^1O=(R! RHaF)=(******F>7#^$F^p$!?^1O=(R!RHaF)=(******F>7#^$$\"?++]lCEuW6sREu6G F`p$\"?IK(4%*RiuIsTD+++\"F17#^$Fip$!?IK(4%*RiuIsTD+++\"F17#^$$!?++]8X3 'RGA?MB<\"GF`p$\"?SW74^X,&3g#eu******F>7#^$Fcq$!?SW74^X,&3g#eu******F> 7#^$$!?+++,W#QG_NO9Tpm!)\\6h)oK_tF1F27#^$$!?&Glmb!pP()>TMHj(Q(F1F2 &%'VectorG6#%'columnG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 26 "Select t he real solutions:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "x3sR: =; \n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%x3sRG-%'RTABLEG6%\"*seXY\"-%'MATRIXG6#7*7#^$$!? Q\\LT&=$zE3A*z_j=\"!#H$\"\"!F37#^$$!?[hh4pW<=fblH)G=\"F1F27#^$$!?6r-%> Zi\\!>G!)yklT!#IF27#^$$!?Iuw$ySUFX*p@1STTF7pm!)\\6h)oK_tF1F27#^$$! ?&Glmb!pP()>TMHj(Q(F1F2&%'VectorG6#%'columnG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 98 "map(x3->[(2*Re(x3))/(1+Re(x3)^2),(1-Re(x3)^2)/(1 +Re(x3)^2)],x3sR);\nevalf(subs(Position,[s3,c3]));\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*_fXY\"-%'MATRIXG6#7*7#7$$!?'HX$G;6N%3 $e'R\\d&)*!#I$!?\\IoT'o*o;`0&)eR#p\"F/7#7$$!?Gq!p3li_.+c:&fg)*F/$!?l!e )**oO7!\\-)R+$Rm\"F/7#7$$!?Qd!ffww@$p)Q1p$*4(F/$\"?y/)f@'[!p/o2$GlUqF/ 7#7$$!?IJ/D'emD37s]!=qqF/$\"?Ar+&[\\8HX!>0]&>2(F/7#7$$\"??m>a>8-,p9iO6 )Q$F/$\"?(*3=:M\"*[l!*RNKa3%*F/7#7$$\"?sB-@*RgP\"HX-#ztQ$F/$\"?FU-%))* =uaAa*o2)3%*F/7#7$$!?!>jNr6L4$*4V_>3n#F/$!?`(pbR!)4qUNl>Qnj*F/7#7$$!?c &*Ht6I5&ou*3f^eEF/$!?p&)*f))3N[g*z&oR,k*F/&%'VectorG6#%'columnG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$$\"?n\\N%GA7Q\"HX-#ztQ$!#I$\"?(4>%=T KsaAa*o2)3%*F&" }}}}}{MARK "0 0 0" 12 }{VIEWOPTS 1 1 0 3 4 1802 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }{RTABLE_HANDLES 146447764 146453932 146462612 146464092 146465896 146467376 146472744 146474368 146477144 146482260 146487700 146489396 146492172 146493796 146496640 146500636 146503412 146506436 146509208 146510688 146513464 146516860 146519636 146521112 146523952 146525424 146528192 146534432 146537624 146455272 146541896 146544860 146549048 146553812 146555480 146558384 146564312 146455792 146455872 146455952 }{RTABLE M7R0 I6RTABLE_SAVE/146447764X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c3G%#s3G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d3GF,6" } {RTABLE M7R0 I6RTABLE_SAVE/146453932X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda3G%$ mu3GF(F(,$F*!""F)F(%#a3GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146462612X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c4G%#s4G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d4GF,6" } {RTABLE M7R0 I6RTABLE_SAVE/146464092X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda4G%$ mu4GF(F(,$F*!""F)F(%#a4GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146465896X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c5G%#s5G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d5GF,6" } {RTABLE M7R0 I6RTABLE_SAVE/146467376X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda5G%$ mu5GF(F(,$F*!""F)F(%#a5GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146472744X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda2G,$ %$mu2G!""F(F(F+F)F(,$%#a2GF,F(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146474368X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c2G,$%#s2G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d2GF*F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146477144X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda1G,$ %$mu1G!""F(F(F+F)F(,$%#a1GF,F(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146482260X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c1G,$%#s1G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d1GF*F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146487700X,%)anythingG6"6"[gl!"%!!!#1"%"%%#lxG%#lyG%#lzG""!%#mxG% #myG%#mzGF*%#nxG%#nyG%#nzGF*%#rxG%#ryG%#rzG"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146489396X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda6G,$ %$mu6G!""F(F(F+F)F(,$%#a6GF,F(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146492172X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c6G,$%#s6G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d6GF*F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146493796X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146496640X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(6" } {RTABLE M7R0 I6RTABLE_SAVE/146500636X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda2G%$ mu2GF(F(,$F*!""F)F(%#a2GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146503412X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146506436X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(6" } {RTABLE M7R0 I6RTABLE_SAVE/146509208X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(F'F(F(F(F(F' F(F(F(%#d2GF'6" } {RTABLE M7R0 I6RTABLE_SAVE/146510688X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(,$%(lambda2G !""%$mu2GF(F(F,F*F(%#a2GF(%#d2GF'6" } {RTABLE M7R0 I6RTABLE_SAVE/146513464X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146516860X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c2G%#s2G""!F)F(,$F'!"" F)F)F)F)"""F)F)F)F)F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146519636X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(6" } {RTABLE M7R0 I6RTABLE_SAVE/146521112X,%)anythingG6"6"[gl!"%!!!#/"""/""!F'F'F'F'F'F'F'F'F'F'F 'F'F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146523952X,%)anythingG6"6"[gl!"%!!!#/"""/""!F'F'F'F'F'F'F'F'F'F'F 'F'F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146525424X,%)anythingG6"6"[gl!"%!!!#/"""/""!F'F'F'F'F'F'F'F'F'F'F 'F'F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146528192X,%)anythingG6"6"[gl!"%!!!#bs"0"**&%#s4G"""%#s5GF)%"*GF+ F+F+F+F+F+F+F+F+F+F+F+F+*&F(F)%#c5GF)F+F+F+F+F+F+F+F+F+F+F+F+F+F+*&%#c4GF)F*F)F +F+F+F+F+F+F+F+F+F+F+F+F+F+*&F/F)F-F)F+F+F+F+F+F+F+F+F+F+F+F+F+F+F(F+F+F+F+F+F+ F+F+F+F+F+F+F+F+F/F+F+F+F+F+F+F+F+F+F+F+F+F+F+F*F+F+F+""!F1F1F+F+F+F+F+F+F+F+F- F1F1F1F+F+F+F+F+F+F+F+F+F+F+F)F+F+F+F+F+F+F+F+F+F+F+F+F+F+6" } {RTABLE M7R0 I6RTABLE_SAVE/146534432X,%)anythingG6"6"[gl!"%!!!#cr"0")*&%#s1G"""%#s2GF)%"*GF+ ""!F+F+F,F,F,F+F+F,F+F+F,*&F(F)%#c2GF)F+F+F,F+F+F,F,F,F+F+F,F+F+F,*&%#c1GF)F*F) F+F+F,F+F+F,F,F,F+F+F,F+F+F,*&F0F)F.F)F+F+F,F+F+F,F,F,F+F+F,F+F+F,F(F,F,F+F,F,F +F+F+F,F,F+F,F,F+F0F,F,F+F,F,F+F+F+F,F,F+F,F,F+F*F+F+F,F+F,F,F,F,F+F,F,F+F+F,F. F+F+F,F,F+F,F,F,F,F+F,F+F+F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146537624X,%)anythingG6"6"[gl!"%!!!#'"""',$%#PiG#!#<"#],$F(#!#n"$ +#,$F(#"#6"$+",$F(#""(F3,$F(#""#"#D,$F(#""*F/6" } {RTABLE M7R0 I6RTABLE_SAVE/146455272X*%'sfloatG6"6"[gl!#%!!!")")$"?#RoSs*yi.Uqbt&Qz#!#C$"?!R oSs*yi.Uqbt&Qz#F)$"?]!)G'='3mh7)ziOnr)!#D$"?&G!>Al/+h`'G#>$)4UF.$"?9@[u1XE&fIM7 I2"\!#F$"?5=[u1XE&fIM7I2"\F3$"?%)3$Qt:_iuL?]!eEVF3$"?u"HQt:_iuL?]!eEVF36" } {RTABLE M7R0 I6RTABLE_SAVE/146541896X,%)anythingG6"6"[gl!"%!!!#jn"("**&%#s4G"""%#s5GF)%"*GF+ F+F+F+F+*&F(F)%#c5GF)F+F+F+F+F+F+*&%#c4GF)F*F)F+F+F+F+F+F+*&F/F)F-F)F+F+F+F+F+F +F(F+F+F+F+F+F+F/F+F+F+F+F+F+F*F+F+F+F+F+F+F-F+F+F+F+F+F+F)F+F+F+F+F+F+6" } {RTABLE M7R0 I6RTABLE_SAVE/146544860X,%)anythingG6"6"[gl!"%!!!#*"""*,$**%#x4G""",&F*F**$F)"" #F*!""%#x5GF*,&F*F**$F/F-F*F.""%,$**F)F*F+F.,&F*F*F1F.F*F0F.F-,$**,&F*F*F,F.F*F +F.F/F*F0F.F-**F8F*F+F.F5F*F0F.,$*&F)F*F+F.F-*&F8F*F+F.,$*&F/F*F0F.F-*&F5F*F0F. F*6" } {RTABLE M7R0 I6RTABLE_SAVE/146549048X,%)anythingG6"6"[gl!"%!!!#*"""*,$*&%#x4G"""%#x5GF*""%,$ *&F)F*,&F*F**$F+""#!""F*F1,$*&,&F*F**$F)F1F2F*F+F*F1*&F5F*F/F*,$*&,&F*F*F0F*F*F )F*F1*&F:F*F5F*,$*&,&F*F*F6F*F*F+F*F1*&F>F*F/F**&F>F*F:F*6" } {RTABLE M7R0 I6RTABLE_SAVE/146553812X,%)anythingG6"6"[gl!"%!!!#jn"("**&%#x4G""#%#x5GF)%"*GF+ F+F+F+F+*&F*"""F(F)F+F+F+F+F+F+*$F(F)F+F+F+F+F+F+*&F(F-F*F)F+F+F+F+F+F+*&F(F-F* F-F+F+F+F+F+F+F(F+F+F+F+F+F+*$F*F)F+F+F+F+F+F+F*F+F+F+F+F+F+F-F+F+F+F+F+F+6" } {RTABLE M7R0 I6RTABLE_SAVE/146555480X,%)anythingG6"6"[gl!"%!!!#-"""-""!F'F'F'F'F'F'F'F'F'F'F '6" } {RTABLE M7R0 I6RTABLE_SAVE/146558384X,%)anythingG6"6"[gl!"%!!!#gt"."-*&%#x4G""$%#x5G""#%"*GF ,F,F,F,F,""!F-F-F-F-F-*&F*"""F(F)F,F,F,F,F,F,F-F-F-F-F-F-*$F(F)F,F,F,F,F,F,F-F- F-F-F-F-*&F(F+F*F+F,F,F,F,F,F,F,F,F,F,F,F,*&F*F/F(F+F,F,F,F,F,F,F,F,F,F,F,F,*$F (F+F,F,F,F,F,F,F,F,F,F,F,F,*&F(F/F*F+F,F,F,F,F,F,F,F,F,F,F,F,*&F(F/F*F/F,F,F,F, F,F,F,F,F,F,F,F,F(F,F,F,F,F,F,F,F,F,F,F,F,*$F*F+F-F-F-F-F-F-F,F,F,F,F,F,F*F-F-F -F-F-F-F,F,F,F,F,F,F/F-F-F-F-F-F-F,F,F,F,F,F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146564312X,%)anythingG6"6"[gl!"%!!!#-"""-""!F'F'F'F'F'F'F'F'F'F'F '6" } {RTABLE M7R0 I6RTABLE_SAVE/146455792X*-%(complexG6#%'sfloatG6"6"[gl"#%!!!"9"9$!?Q\LT&=$zE3A* z_j="!#H$""!F.$!?[hh4pW<=fblH)G="F,F-$"?92kUi=-<$3`ndKF"F,$"?to9iMy*G[(=jm#>]"! #IF1$!?to9iMy*G[(=jm#>]"F5$"?I13RS#4.(4S]#*3t')F5$"?4S3#RYh)4g+ucdEiF5F8$!?4S3# RYh)4g+ucdEiF5$"?I&**GLIhF5F>$!?)Qqu!p417wRJ>LIh F5$!?6r-%>Zi\!>G!)yklTF5F-$!?Iuw$ySUFX*p@1STTF5F-$"?&[y'=5%p`*)>x8hM.'F5$"?w#G; V*Hq5DRu!H%G7!#JFH$!?w#G;V*Hq5DRu!H%G7FL$"?J^>7pm!)\6h)oK_tF,F-$!?& Glmb!pP()>TMHj(Q(F,F-6" } {RTABLE M7R0 I6RTABLE_SAVE/146455872X*%)anythingG6"6"[gl!#%!!!")")^$$!?Q\LT&=$zE3A*z_j="!#H$ ""!F,^$$!?[hh4pW<=fblH)G="F*F+^$$!?6r-%>Zi\!>G!)yklT!#IF+^$$!?Iuw$ySUFX*p@1STTF 3F+^$$"?J^>7pm!)\6h)oK_tF*F +^$$!?&Glmb!pP()>TMHj(Q(F*F+6" } {RTABLE M7R0 I6RTABLE_SAVE/146455952X*%)anythingG6"6"[gl!#%!!!")")7$$!?'HX$G;6N%3$e'R\d&)*!# I$!?\IoT'o*o;`0&)eR#p"F*7$$!?Gq!p3li_.+c:&fg)*F*$!?l!e)**oO7!\-)R+$Rm"F*7$$!?Qd !ffww@$p)Q1p$*4(F*$"?y/)f@'[!p/o2$GlUqF*7$$!?IJ/D'emD37s]!=qqF*$"?Ar+&[\8HX!>0] &>2(F*7$$"??m>a>8-,p9iO6)Q$F*$"?(*3=:M"*[l!*RNKa3%*F*7$$"?sB-@*RgP"HX-#ztQ$F*$" ?FU-%))*=uaAa*o2)3%*F*7$$!?!>jNr6L4$*4V_>3n#F*$!?`(pbR!)4qUNl>Qnj*F*7$$!?c&*Ht6 I5&ou*3f^eEF*$!?p&)*f))3N[g*z&oR,k*F*6" }