{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 } {CSTYLE "" -1 261 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 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 56 "T.Pajdla: Inverse Kinemat ics of a 6-DOF Manipulator - 2\n" }}{PARA 0 "" 0 "" {TEXT -1 153 "[1] \+ D.Manocha, J.F.Canny. Efficient Inverse Kinematics for General 6R Mani pulators. IEEE Trans. on Robotics and Automation, 10(5), pp. 648-657, \+ Oct. 2004" }}{PARA 0 "" 0 "" {TEXT -1 148 "[2] M. Raghavan, B. Roth. K inematic Analysis of the 6R Manipulator of General Geometry. Int. Sym posium on Robotic Research. pp. 264-269, Tokyo 1990" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 31 "General Mechanism - Exp lanation" }}{PARA 0 "" 0 "" {TEXT -1 10 "2 Nov 2009" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT 257 20 " Packages & settings" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 213 "restart:\nwith(ListTools):\nwith(L inearAlgebra):\nwith(PolynomialTools):\nwith(combinat, choose):\nwith( Groebner):\nwith(MatrixPolynomialAlgebra):\ninterface(rtablesize=24): \ninterface(warnlevel=0):\nDigits:=30:\neps:=1e-6:" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT 258 23 "DH-Kinematics functions" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 22 "Joint transformations:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5073 "# Two one-parametric motions transformatin in DH-co nvention(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 on e-aprametric DH rigid motion transformations\ndhInvs := proc(M)\n lo cal M1, M2;\n M1 := M[1];\n M2 := M[2];\n [simplify(MatrixInvers e(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 transformatin i n 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-convention rigid motion transformation\ndhInv := proc(M)\n simplify(MatrixInve rse(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\n dhSimpl := 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 Kinematic T ask\n#\ndhDKT := proc(p)\n subs(p,dhT(1).dhT(2).dhT(3).dhT(4).dhT(5) .dhT(6)); \nend proc:\n#\n# Simplify using Rotation matrin in Mh\nMh Simpl := proc(M)\n simplify(\n simplify(\n simplify(\n simplify( 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+m z*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 using rotation matrix identities in columns\nrcSimp := proc(M,R)\n si mplify(\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\});\n end proc:\n#\n# Simplify a general motion matrix using rotation matrix identities in rows\nrrSimp := proc(M,R)\n simplify(\n si mplify(\n simplify(\n simplify(\n simplify( \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 s et of polynomials \nPolyCoeffMatrix:=proc(S,m,Ord::\{ShortTermOrder, T ermOrder\}) \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 nops( 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);\ne nd 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);\nend \+ proc:\n#\n## n x 1 matrix to a list conversion\n#\nM2L:=proc(M) \n\011 convert(convert(M,Vector),list);\nend proc:\n#\n## Highlit non-zero en tries\n#\nspy:=proc(A)\n map(x->`if`(simplify(x)=0,0, `if`(simplify( x)=1,1,`*`)) ,A):\nend proc:\n#\n# Monomials of a set of polynomial in all indeterminates\n#\nPolyMonomials:=proc(S::list(ratpoly),Ord::\{Sh ortTermOrder, TermOrder\}) # Monomials of a set of polynomials\nlocal \+ v,m,i,c,q;\n v:=indets(S);\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:\n#\n## Mon omias of a set of polynomials in given indeterminates\n#\nPolyVarsMono mials:=proc(S::list(ratpoly),Ord::\{ShortTermOrder, TermOrder\}) # Mon omials 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 nop s(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\}* Mh * M62^\{-1\}*M61^\{-1\}" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT 265 9 " Solution" }{TEXT -1 0 "" }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 1 " " }{TEXT 260 41 "Symbolically from 12 equations to Z p = 0" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "The manipulator matrices" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 336 "M31 :=dhTs(3)[1]:\nM32 :=dh Ts(3)[2]:\nM41 :=dhTs(4)[1]:\nM42 :=dhTs(4)[2]:\nM51 :=dhTs(5)[1]:\nM5 2 :=dhTs(5)[2]:\niM22:=dhInvs(dhTs(2))[1]:\niM21:=dhInvs(dhTs(2))[2]: \niM12:=dhInvs(dhTs(1))[1]:\niM11:=dhInvs(dhTs(1))[2]:\nMh :=Matrix(4 ,4,[[lx,mx,nx,rx],[ly,my,ny,ry],[lz,mz,nz,rz],[0,0,0,1]]):\niM62:=dhIn vs(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,M42,M51,M52,\"=\",iM22,iM21,iM12 ,iM11,Mh,iM62,iM61;" }}{PARA 12 "" 1 "" {XPPMATH 20 "60-%'RTABLEG6%\"* g'>i9-%'MATRIXG6#7&7&%#c3G,$%#s3G!\"\"\"\"!F07&F.F,F0F07&F0F0\"\"\"%#d 3G7&F0F0F0F3%'MatrixG-F$6%\"*CtBY\"-F(6#7&7&F3F0F0%#a3G7&F0%(lambda3G, $%$mu3GF/F07&F0FBF@F0F5F6-F$6%\"*G5CY\"-F(6#7&7&%#c4G,$%#s4GF/F0F07&FM FKF0F07&F0F0F3%#d4GF5F6-F$6%\"*%)oDY\"-F(6#7&7&F3F0F0%#a4G7&F0%(lambda 4G,$%$mu4GF/F07&F0FfnFZF0F5F6-F$6%\"*C(fi9-F(6#7&7&%#c5G,$%#s5GF/F0F07 &FaoF_oF0F07&F0F0F3%#d5GF5F6-F$6%\"*%Gui9-F(6#7&7&F3F0F0%#a5G7&F0%(lam bda5G,$%$mu5GF/F07&F0F`pF^pF0F5F6Q\"=6\"-F$6%\"*!=Tn9-F(6#7&7&F3F0F0,$ %#a2GF/7&F0%(lambda2G%$mu2GF07&F0,$F_qF/F^qF0F5F6-F$6%\"*#Rpt9-F(6#7&7 &%#c2G%#s2GF0F07&,$FjqF/FiqF0F07&F0F0F3,$%#d2GF/F5F6-F$6%\"*Sl7Z\"-F(6 #7&7&F3F0F0,$%#a1GF/7&F0%(lambda1G%$mu1GF07&F0,$F[sF/FjrF0F5F6-F$6%\"* +,I_\"-F(6#7&7&%#c1G%#s1GF0F07&,$FfsF/FesF0F07&F0F0F3,$%#d1GF/F5F6-F$6 %\"*C " 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 "6 0-%'RTABLEG6%\"*g'>i9-%'MATRIXG6#7&7&%#c3G,$%#s3G!\"\"\"\"!F07&F.F,F0F 07&F0F0\"\"\"%#d3G7&F0F0F0F3%'MatrixG-F$6%\"*CtBY\"-F(6#7&7&F3F0F0%#a3 G7&F0%(lambda3G,$%$mu3GF/F07&F0FBF@F0F5F6-F$6%\"*G5CY\"-F(6#7&7&%#c4G, $%#s4GF/F0F07&FMFKF0F07&F0F0F3%#d4GF5F6-F$6%\"*%)oDY\"-F(6#7&7&F3F0F0% #a4G7&F0%(lambda4G,$%$mu4GF/F07&F0FfnFZF0F5F6-F$6%\"*C(fi9-F(6#7&7&%#c 5G,$%#s5GF/F0F07&FaoF_oF0F07&F0F0F3%#d5GF5F6-F$6%\"*Oa#Q:-F(6#7&7$F0%# a5G7$,$%$mu5GF/F07$%(lambda5GF07$F0F3F6Q\"=6\"-F$6%\"*!=Tn9-F(6#7&7&F3 F0F0,$%#a2GF/7&F0%(lambda2G%$mu2GF07&F0,$F`qF/F_qF0F5F6-F$6%\"*#Rpt9-F (6#7&7&%#c2G%#s2GF0F07&,$F[rF/FjqF0F07&F0F0F3,$%#d2GF/F5F6-F$6%\"*Sl7Z \"-F(6#7&7&F3F0F0,$%#a1GF/7&F0%(lambda1G%$mu1GF07&F0,$F\\sF/F[sF0F5F6- F$6%\"*+,I_\"-F(6#7&7&%#c1G%#s1GF0F07&,$FgsF/FfsF0F07&F0F0F3,$%#d1GF/F 5F6-F$6%\"*C " 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%\"*?n-a\"-%'MATRIXG6#7&7& \"\"\"\"\"!F-%#a2G7&F-%(lambda2G,$%$mu2G!\"\"F-7&F-F2F0F-7&F-F-F-F,%'M atrixG-F$6%\"*g'>i9-F(6#7&7&%#c3G,$%#s3GF3F-F-7&F@F>F-F-7&F-F-F,%#d3GF 5F6-F$6%\"*CtBY\"-F(6#7&7&F,F-F-%#a3G7&F-%(lambda3G,$%$mu3GF3F-7&F-FOF MF-F5F6-F$6%\"*G5CY\"-F(6#7&7&%#c4G,$%#s4GF3F-F-7&FZFXF-F-7&F-F-F,%#d4 GF5F6-F$6%\"*%)oDY\"-F(6#7&7&F,F-F-%#a4G7&F-%(lambda4G,$%$mu4GF3F-7&F- FcoFaoF-F5F6-F$6%\"*C(fi9-F(6#7&7&%#c5G,$%#s5GF3F-F-7&F^pF\\pF-F-7&F-F -F,%#d5GF5F6-F$6%\"*))*p`9-F(6#7&7$F-%#a5G7$,$%$mu5GF3F-7$%(lambda5GF- 7$F-F,F6Q\"=6\"-F$6%\"*#Rpt9-F(6#7&7&%#c2G%#s2GF-F-7&,$FjqF3FiqF-F-7&F -F-F,,$%#d2GF3F5F6-F$6%\"*Sl7Z\"-F(6#7&7&F,F-F-,$%#a1GF37&F-%(lambda1G %$mu1GF-7&F-,$F[sF3FjrF-F5F6-F$6%\"*+,I_\"-F(6#7&7&%#c1G%#s1GF-F-7&,$F fsF3FesF-F-7&F-F-F,,$%#d1GF3F5F6-F$6%\"*C " 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%\"*o0PZ\"-%'MA TRIXG6#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% \"*'HK;:-%'MATRIXG6#7&7&\"\"\"\"\"!F-%#a2G7&F-,$%(lambda2G!\"\"%$mu2GF -7&F-F3F1%#d2G7&F-F-F-F,%'MatrixG-F$6%\"*g'>i9-F(6#7&7&%#c3G,$%#s3GF2F -F-7&FAF?F-F-7&F-F-F,%#d3GF6F7-F$6%\"*CtBY\"-F(6#7&7&F,F-F-%#a3G7&F-%( lambda3G,$%$mu3GF2F-7&F-FPFNF-F6F7-F$6%\"*G5CY\"-F(6#7&7&%#c4G,$%#s4GF 2F-F-7&FenFYF-F-7&F-F-F,%#d4GF6F7-F$6%\"*%)oDY\"-F(6#7&7&F,F-F-%#a4G7& F-%(lambda4G,$%$mu4GF2F-7&F-FdoFboF-F6F7-F$6%\"*C(fi9-F(6#7&7&%#c5G,$% #s5GF2F-F-7&F_pF]pF-F-7&F-F-F,%#d5GF6F7-F$6%\"*7CZZ\"-F(6#7&7$F-%#a5G7 $,$%$mu5GF2F-7$%(lambda5GF-7$F-F,F7Q\"=6\"-F$6%\"*/uWZ\"-F(6#7&7&%#c2G %#s2GF-F-7&F[r,$FjqF2F-F-7&F-F-F,F-F6F7-F$6%\"*Sl7Z\"-F(6#7&7&F,F-F-,$ %#a1GF27&F-%(lambda1G%$mu1GF-7&F-,$FjrF2FirF-F6F7-F$6%\"*+,I_\"-F(6#7& 7&%#c1G%#s1GF-F-7&,$FesF2FdsF-F-7&F-F-F,,$%#d1GF2F6F7-F$6%\"*C " 0 "" {MPLTEXT 1 0 211 "ee1:=dhSimpl((<<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..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 equations in 10 unknowns s1, c1, s2, c2, s3, c 3, s4, c4, s5, c5.\nLet us generate more equations. " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 111 "To do so, denote the columns of the left and r ight 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]:\np 1:=ee2[1..3,2..2]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "expan d(p1[1,1]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,N*,%#d6G\"\"\"%$mu6GF& %#mxGF&%#c2GF&%#c1GF&!\"\"*.F%F&F'F&F(F&%#s2GF&%(lambda1GF&%#s1GF&F&*, F%F&F'F&%#myGF&F)F&F/F&F+*.F%F&F'F&F1F&F-F&F.F&F*F&F+*,F%F&F'F&F-F&%$m u1GF&%#mzGF&F+*,F%F&%(lambda6GF&%#nxGF&F)F&F*F&F+*.F%F&F7F&F8F&F-F&F.F &F/F&F&*,F%F&F7F&%#nyGF&F)F&F/F&F+*.F%F&F7F&F;F&F-F&F.F&F*F&F+*,F%F&F7 F&F-F&F4F&%#nzGF&F+**%#a6GF&%#lxGF&F)F&F*F&F+*,F@F&FAF&F-F&F.F&F/F&F&* *F@F&%#lyGF&F)F&F/F&F+*,F@F&FDF&F-F&F.F&F*F&F+**F@F&F-F&F4F&%#lzGF&F+* (%#rxGF&F)F&F*F&F&**FIF&F-F&F.F&F/F&F+*(%#ryGF&F)F&F/F&F&**FLF&F-F&F.F &F*F&F&*(F-F&F4F&%#rzGF&F&*(F-F&F4F&%#d1GF&F+*&F)F&%#a1GF&F+" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "expand(p2[1,1]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,<**%#a5G\"\"\"%#c5GF&%#c3GF&%#c4GF&F&*,F%F& F'F&%#s3GF&%(lambda3GF&%#s4GF&!\"\"*,F%F&%#s5GF&%(lambda4GF&F(F&F-F&F. *.F%F&F0F&F1F&F+F&F,F&F)F&F.*,F%F&F0F&F+F&%$mu3GF&%$mu4GF&F&**%#d5GF&F 5F&F(F&F-F&F&*,F7F&F5F&F+F&F,F&F)F&F&**F7F&F+F&F4F&F1F&F&*(%#a4GF&F(F& F)F&F&**F;F&F+F&F,F&F-F&F.*(F+F&F4F&%#d4GF&F&*&F(F&%#a3GF&F&%#a2GF&" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 339 "New equations can be now genera ted by scalar 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 equations\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);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$pp1G-%'RTABLEG6%\"*/P<`\"-%'MATRI XG6#7#7#,H*$)%#ryG\"\"#\"\"\"F3**F2F3%#rxGF3%#c1GF3%#a1GF3!\"\"*(F2F3% #rzGF3%#d1GF3F8*$)%#a6GF2F3F3*$)F5F2F3F3*$)F;F2F3F3*$)%#d6GF2F3F3*$)F: F2F3F3*$)F7F2F3F3**F2F3F1F3%#s1GF3F7F3F8*&,&**F2F3F>F3F6F3F7F3F3*(F2F3 F>F3F5F3F8F3%#lxGF3F3*&,&**F2F3F>F3FKF3F7F3F3*(F2F3F>F3F1F3F8F3%#lyGF3 F3*&,&*(F2F3F>F3F;F3F3*(F2F3F>F3F:F3F8F3%#lzGF3F3*&,&**F2F3FEF3%$mu6GF 3F5F3F8*,F2F3FEF3FhnF3F6F3F7F3F3F3%#mxGF3F3*&,&*,F2F3FEF3FhnF3FKF3F7F3 F3**F2F3FEF3FhnF3F1F3F8F3%#myGF3F3*&,&**F2F3FEF3FhnF3F:F3F8**F2F3FEF3F hnF3F;F3F3F3%#mzGF3F3*&,&*,F2F3FEF3%(lambda6GF3F6F3F7F3F3**F2F3FEF3Fho F3F5F3F8F3%#nxGF3F3*&,&**F2F3FEF3FhoF3F1F3F8*,F2F3FEF3FhoF3FKF3F7F3F3F 3%#nyGF3F3*&,&**F2F3FEF3FhoF3F:F3F8**F2F3FEF3FhoF3F;F3F3F3%#nzGF3F3%'M atrixG" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$pp2G-%'RTABLEG6%\"*_cw`\" -%'MATRIXG6#7#7#,do**\"\"#\"\"\"%#c3GF1%#a3GF1%#a2GF1F1**F0F1%#d2GF1%( lambda2GF1%#d3GF1F1*$)%#d4GF0F1F1*,F0F1%#s3GF1%$mu3GF1F;F1F4F1F1*,F0F1 %#a4GF1F2F1%#c4GF1F4F1F1*$)F3F0F1F1*$)F4F0F1F1*$)%#a5GF0F1F1*2F0F1F6F1 %$mu2GF1%#d5GF1%$mu4GF1FAF1F2F1%(lambda3GF1!\"\"*0F0F1FKF1FLF1F=F1FMF1 FAF1F4F1F1*,F0F1F6F1FJF1F=F1F3F1F1*,F0F1F6F1F7F1F;F1FMF1F1**F0F1F;F1FK F1%(lambda4GF1F1*.F0F1F@F1F=F1FMF1%#s4GF1F4F1FN*.F0F1FKF1F=F1F>F1FSF1F 4F1F1*.F0F1FKF1FLF1F2F1FUF1F4F1F1*.F0F1F6F1F7F1F@F1FUF1F>F1F1*.F0F1F6F 1F7F1FKF1FSF1FMF1F1*.F0F1F6F1FJF1F;F1F2F1F>F1FN*.F0F1F6F1FJF1F@F1F=F1F AF1F1*$)F@F0F1F1*.F0F1F8F1FKF1FLF1FAF1F>F1FN*,F0F1F8F1F@F1FUF1F>F1F1*, F0F1FKF1FSF1FMF1F8F1F1**F0F1F@F1FAF1F3F1F1*$)FKF0F1F1*$)F8F0F1F1*&,2*. F0F1F6F1FJF1FHF1F=F1FAF1F1*,F0F1FHF1FUF1F>F1F8F1F1*,F0F1FHF1F2F1FAF1F4 F1F1*0F0F1F6F1FJF1FHF1FUF1F2F1FMF1F1*(F0F1FHF1F@F1F1*.F0F1F6F1F7F1FHF1 FUF1F>F1F1*.F0F1FHF1F=F1FMF1FUF1F4F1FN**F0F1FHF1FAF1F3F1F1F1%#c5GF1F1* &,:*2F0F1F6F1FJF1FHF1FSF1FAF1F2F1FMF1F1*0F0F1FHF1FSF1F=F1FMF1FAF1F4F1F N*.F0F1FHF1FSF1F2F1FUF1F4F1FN*,F0F1FHF1FSF1FUF1F3F1FN*.F0F1F6F1F7F1FHF 1FLF1FMF1F1**F0F1F;F1FHF1FLF1F1*,F0F1F8F1FHF1FLF1FMF1F1*0F0F1F6F1FJF1F HF1FLF1F2F1F>F1FN*0F0F1F6F1FJF1FHF1FSF1F=F1FUF1FN*.F0F1FHF1FSF1FAF1F>F 1F8F1F1*.F0F1FHF1F=F1F>F1FLF1F4F1F1*0F0F1F6F1F7F1FHF1FSF1FAF1F>F1F1F1% #s5GF1F1*0F0F1F6F1F7F1FKF1FLF1FAF1F>F1FN*0F0F1F6F1FJF1FKF1FLF1F=F1FUF1 F1*0F0F1F6F1FJF1FKF1FSF1F2F1F>F1FN*0F0F1F6F1FJF1F@F1FUF1F2F1FMF1F1*,F0 F1FKF1FLF1FUF1F3F1F1**F0F1F;F1FMF1F8F1F1*$)F6F0F1F1%'MatrixG" }}} {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 117 "M1:=PolyCoeffMatrix(M2L(E1),M2L(t1),plex(op(indets (t1)))):\nM2:=PolyCoeffMatrix(M2L(E2),M2L(t2),plex(op(indets(t2)))):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "Check it." }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 61 "Transpose(simplify(E1-M1.t1));\nTranspose(simp lify(E2-M2.t2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*7D6 `\"-%'MATRIXG6#7#70\"\"!F,F,F,F,F,F,F,F,F,F,F,F,F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*o(H9:-%'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 constants 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 e quations 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 an gles: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "Dimensions(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 "Tr anspose((-P.p+Q.q)-(M1.t1-M2.t2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# -%'RTABLEG6%\"*#HE_:-%'MATRIXG6#7#70\"\"!F,F,F,F,F,F,F,F,F,F,F,F,F,%'M atrixG" }}}{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%\"*)Qyx9-%'MA TRIXG6#717+*&%#s4G\"\"\"%#s5GF.*&F-F.%#c5GF.*&%#c4GF.F/F.*&F3F.F1F.F-F 3F/F1F.7+%\"*GF6F6F6F6F6F6\"\"!F6F5F57+F6F6F6F6F6F6F7F6F6F8F87+F6F6F6F 6F6F6F6F6F6F9F9F9F9F9F9F9%'MatrixG-F$6%\"*guI`\"-F(6#717**&%#s1GF.%#s2 GF.*&FCF.%#c2GF.*&%#c1GF.FDF.*&FHF.FFF.FCFHFDFF7*F6F6F6F6F7F7F6F6FJ7*F 7F7F7F7F6F6F7F77*F6F6F6F6F7F7F6F77*F6F6F6F6F7F7F7F6FKFKFKFLFMFKFJFJFKF :" }}}{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 if t he 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 58 " [ P6 \+ ] [ 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 q " }}{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." }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 1 " \+ " }{TEXT 261 24 "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=315, d5=-0.1, d6=85,\nlamb da1=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 join t 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%\"*ol#f9-%'MATRIXG6#7#7(,$*& \"\"%!\"\"%#PiG\"\"\"F3,$*&\"#?F1F2F3F3,$*(\"\"#F3\"#DF1F2F3F1,$*(\"\" *F3\"$+#F1F2F3F1,$*&F0F1F2F3F1,$*(\"#6F3\"$+\"F1F2F3F1%'MatrixG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 626 "thetas := map(x->x[1]=x[2], convert(,listlist )):\nPosition := subs(thetas,\{c1=cos(theta1),s1=sin(theta1),c2=cos(th eta2),s2=sin(theta2),c3=cos(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)\}; \nMhV := Matrix(4,4,[[lx,mx,nx,rx],[ly,my,ny,ry],[lz,mz,nz,rz],[0,0,0, 1]]):\nMhV := map(x->x[1]=x[2],convert(,listlist)):" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#>%#MPGF+FJF-F-F+/%#c6G-FE6#,$*(\"#6F-F:F+FJF-F-/%#a6GF=/%#d1G\"$]$/%#d 2GF@/%#d3GF=/%#d4G\"$:$/%#d5GF@/%#d6GF4/%(lambda2G-FE6#,$*&\"$5\"F+FJF -F-/%$mu2G-%$sinGFho/%#c3G-FE6#,$*(F*F-\"#DF+FJF-F-/%#s4G,$-F_p6#,$*( \"\"*F-\"$+#F+FJF-F-F+/%(lambda4G-FE6#,$*(\"#fF-\"$?\"F+FJF-F-/%$mu4G- F_pFcq/%#s3G,$-F_pFcpF+/%$mu5G,$-F_pFOF+/%#c2G-FE6#,$*&\"#?F+FJF-F-/%# s2G-F_pFfr/%#s6G,$-F_pFWF+/%(lambda6G-FE6#,$*&F_qF+FJF-F-/%$mu6G,$-F_p FdsF+/%$mu1G,$-F_pFFF+/%$mu3G,$-F_p6#,$*(\"#AF-\"#XF+FJF-F-F+/%#c1GF(/ %#s1GF(/%#c4G-FEF[q/%(lambda3G,$-FEFctF+" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT 262 36 " Numerically from Z p = 0 to f(x3)=0" }}{EXCHG {PARA 0 " " 0 "" {TEXT -1 197 "Substitute the parameters of the manipulator and \+ Mh into matrice P & Q and \ntruncate by first converting it to Maple s oftware floats (precision given by Digits)\nand then exactly to ration al numbers" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 175 "MPh := \{op( Mechanism),op(MhV)\}:\nQx := simplify(evalf(subs(MPh,Q))):\nPx := si mplify(evalf(subs(MPh,P))):\nQxR := convert(Qx,rational,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 27 "SingularValues(evalf(QxR));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*'>aZ9-%'MATRIXG6#707#$\"?YYe7@It!Gc'=&4[ y$!#C7#$\"?WYe7@It!Gc'=&4[y$F.7#$\"?g]&y&e!\\< \\65`cvN$)!#D7#$\"?g%*4Q*QZ`@$zY_^g'*!#G7#$\"?5I4Q*QZ`@$zY_^g'*F<7#$\" ?)H\\x#4fQ)Ggt#=PVfF<7#$\"?g\\uF4fQ)Ggt#=PVfF<7#$\"\"!FHFFFFFFFFFF&%'V ectorG6#%'columnG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "svQxR: =evalf(SingularValues(evalf(QxR)))[1..8];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&svQxRG-%'RTABLEG6%\"*gN0c\"-%'MATRIXG6#7*7#$\"?YYe7@ It!Gc'=&4[y$!#C7#$\"?WYe7@It!Gc'=&4[y$F07#$\"?g]&y&e!\\<\\65`cvN$)!#D7#$\"?g%*4Q*QZ`@$zY_^g'*!#G7#$\"?5I4Q*QZ`@$zY_^ g'*F>7#$\"?)H\\x#4fQ)Ggt#=PVfF>7#$\"?g\\uF4fQ)Ggt#=PVfF>&%'VectorG6#%' columnG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "The condition number o f QxR is not so bad" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "svQx R[1]/svQxR[8];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?mcqX&ok2AL'[$=\" oj!#E" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 "QxRf:=evalf(QxR): \nU, S, Vt := SingularValues(QxRf, output=['U', 'S', 'Vt']):" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "Use SVD to choose the best equatio ns possible to constinue:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 47 "Change the basis using the SVD of Q to get Z\n" }}{PARA 0 "" 0 "" {TEXT -1 22 "P p = Q q " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 28 "Make SVD of Q: Q = U S V^T" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 27 "P p = U S V^T q" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 85 "Multiply by the inverse of U from the left. U h as orthonormal columns => inv(U) = U^T" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 21 "U^T P p = S V^T q\n" }}{PARA 0 "" 0 "" {TEXT -1 29 "Denote U^T P by A: A = U^T P" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "A p = S V^T q \n" }}{PARA 0 "" 0 "" {TEXT -1 56 "Split A into the first 8 rows, A8, \+ and the rest 6 rows Z" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 27 "[A8] p = [S8 V^T] q " }}{PARA 0 "" 0 "" {TEXT -1 32 "[Z] [ 0 ]" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 38 "Get the equations from the last 6 ro ws" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 17 "Z p = 0" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 66 "A := Transpose(U).PxR:\nA8 := A[1..8,1..9]: \+ \nZ := A[9..14,1..9]: " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Constr uct matrix Z" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "`Z = `, ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%%Z~=~G-%'RTABL EG6%\"*gOpT&-%'MATRIXG6#7)7+*&%#s4G\"\"\"%#s5GF/*&F.F/%#c5GF/*&%#c4GF/ F0F/*&F4F/F2F/F.F4F0F2F/7+%\"*GF7F7F7F7F7F7F7F7F6F6F6F6F6%'MatrixG" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 75 "We have 6 equations for 8 monomia ls but also recall that Z contains s3, c3:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 10 "indets(Z);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$%#c 3G%#s3G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "evalf(Z[1..6,9]) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*?1/_\"-%'MATRIXG6# 7(7#,(*&$\"?FQd(p&\\]!o:`&F0F17#,(*&$\"?#Q]R%\\*Q>N/^maWM)! #HF1F2F1F1*&$\"?%z)[1!\\jt1'>nL5XDQ'Q]]#Q3H#G!#IF1F2F1F3*&$\"?y[ .Y$>_H=@J\">@'o)FTF1F7F1F1$\"?70.m99%*f:%p0hi:\"F?F37#,(*&$\"?0>Y_TDH \\I_fTzLBF?F1F2F1F1*&$\"?9f_*pFxG*RH$ef_(GF?F1F7F1F3$\"?oh^x*y&=c]*zjq 7%RF?F37#,(*&$\"?#\\3UMk\\MWO+tdXQ%F0F1F2F1F1*&$\"?\"[6'z8Z#QMJRWp@Q\" !#FF1F7F1F3$\"?4:B>N:F:nyyyyy]::yyyyyy::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::fyyyyyi;F;N;V;^;f;;JAjA>:[Z:F=vN>V>^> f>n>v>>?F?N?V?^?f?n?v?>`:B:];_;a;c;e;g;i;wAyA::::::::::::::::::::::::: ::::::::::::::::::::::NDYmq^H;C:ELq^H_mvJ::::::::gjGftddsH_b]::JR`rA]uJ@P_Aj;J:M:<:=j[vGUMrvC?MoJ::::::::JCNZ;v: DFGW=;K\\vGAmtfGEMqJ:>::::JNN:G:EZ:vYxY:B::::::^:vZZJ:j:>:wAA:C:E:G:wA K:M:O:Q:S:U:W:wA[J:nYnYvY::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::=Jyyy;d:yayA\\GHJ::?[:fccWflwgmwg`_hZ>diwh _OhJwgcogn?^JOh_Wh_ognGfnGgioGYZ:rN[dVE=:D[:BNY=ZhVdbwgqo_rBwmcf]=;::A L[nyyA:ER:?:;::j:JjQrIEyvyNnV_aVpSA@FJ JFKCJLK?J^K@Jdk@Jj=Z:v;Jb@N_LN`@>w:[J:b:B:;u@aXiI:;\\ :>tQgZBxk@vr;>b:B:[ELKg@yT>IX:A:a;;j`>ilqav_KB:QCEmie[[:>p;JB>Z:F:>Kv;Ky:aE;F:My:K;;f? EB:;J?J:@jANx=>f;jQ>sI^;;JRNtI^Z:j::iw=C<=LsFG=Mp J:V:[Kc?n>Y<;GkaJx@QA?_lX\\:vPjc@_@>N^I:k=J:J:?b:B:yQ:fnI^;>:\\JQ>:IB:;B: ;jNyJ?j=J;BAw=WM:f:yYyyK:ZyA:C=;:>bZ;J:PZ:>^;>^;Z:R;>B;d:f=>f=B:C :;J=Z:Br;F:\\j\\A>;B:yY:KJ>FZZ:^:FZ:ByJryJHB:;jsI JDB:?Z:>::BZ;J:v;[x;iU:v=cB;s:;jDLJDJWISRUiDQmufoA^lAelon:D:YJwIjm>Z:> :wy:A:;R:Z^[:ZjniHDJ_w>\\AB:ZXfyyyyrxyyyy;r>:ZYr;CBIB:pIRB;Z^[[Z^[`Z\\:B:::F:xZBX\\rZIb\\aBF;B:x_Y[JCNL_kBF;J:hrC<;;ZG^ZBZjgP>Z :b:B:=B:>:raYB;b;;B::B:x\\jEAB:HIR;B::F:>:btA :;r=\\y;dw>\\:<::hJR<`jyZZ>Z:>ZyyY;J:Zy=:`S`yi FasyuFaCmxtmxiZ;>ZXqxk]:b_TC;B:xIpR]yY:Z:ryXim^ sFuy[DN;rymF:<@B:;J:syyyyZ:@Z:>ZyyyyEQy ZYQtMDma[xHiZsy`cMQnSBR:;ZS@ZyyyyE:acSlvyyimnfFMRcSxiyyV;BR:;:xIR`HxoA IaS`TN?i^`_S^Orq;X]lrwZ\\J:LP:B:yY:;BSB:Z:OZ:>Z:>ZAB:;ryyyuB:ryxyym<;B:AZJ>Z]DYR;xI@ Z\\>>L@Z:ZyuyyIB;B:;j:>Z:h:;r>;Co=BB=ZZEBZCJ:>ZZ>Z]dUR;xI :<:Z:ZyuyyI=ZZF:=:;j;J:f:Z;F;>Z;>:<:@Z;F;>Z;BB=B:;J:DZ;F;>Z;BJ?B:;J:HZ;F;>Z;BRAB:;J:LZ ;F;>Z;BZCB:;J::@Z:B::Z: Z:<:DZNb:H:<:DZJB;B:b:r=lJ\\Jr] Z:>Z@J:^:;r=HJrmS<<:LJr]<@ZC>xJB:;:::DZD>xBZ:^:P:;r=bnb>;bHB;J>xu:@ZKBj@Z:>[yIZ;R<;R:?b:;J>xBJ:pd ZFZZg\\wWZIR>[I>;B:;Z=Y[BZ:Z;b]xJ:pJrMO:Z\\x[@B:@<<:dD>Z[Z;B:ZL>: Z=^:N;HB<=;rYR;BNKh]@r:J>HBxE;R>[:B>[A;BvABB=BRHkAxJ:@ Kr=K:ZH\\GbaB:xC>Z;Z:BdD?;rJ::;;Z_?in?^m_HVhGVd_Wfiog^?^fgfp gffg[N?gcOh^?^f;TnqPQsLQnZBl:Z>^:N;HBJ:xAPZ:DAYh]@B>[=ZKBj=Z:>[y]CZ X>ZXw[ZFZZoZD@\\IR>[I>;B:;Z==DZ:>ZAFZHt=pZJC:;ZY<;B;;Z:BbYb:bD>Z[x[NZ< Z::D::Z?^:N;;rZ:;rYR;Bm_h]@B>[=ZKB j=Z:>[y]CZX>ZXCfIBnWb\\[r=@Kr=K:Z>Z:Bb Y:d<;RbT[:b:B:>;@Z;:>Z@B:N;;rZ:;rYR;BP kh]@BHB>[yL:@[:I:xI`:D:KB:\\Zg\\D@\\IR>[I>;B:;Z==L:;B[:b:DJ:BL[=T;Hs:trIibNHZXiqbsi=b>D[yI:;B<;B;AR< :;ry>Z:B::hUjIX:R`ZEL :>:hXQ\\:tR=Xv:j:rXr;;B:;J@r=HJruk:::b:d:B:SZ?>: ;r=Bm;J:D[D:DJ@J?>Z=<[=D:;J>xE;R> [:B>[A;B:BNIBBxZK>xJ>Z:>:HFB:b::OB:;rZ:;rYR; xE;R>xBJ:[I>;B:;Z==@:XZhVZIZPC:;B:xC >Z>Z:BbY:;bD>Z[d?b:B:>;DZZ>^;N;;r RhZ^ZyC;;B;XBj:@[yIZBR[IWBBOr=@[J>Z:>:HFb :>Z?bEAZ>>xTF:D;:S:OB:HB<=;rY;R:PZ:DwsbEARZJ>HBxE;R>[I>;B:;Z==HJ:ZJt::::UBOBS:Tnq::`@:>Z:bdZM[AZ:R:Z@^[:>:OZM\\pZy[?ZJN^hVZAd:[=ZKBj=Z:>[y]CZ<>:KB:>X>ZZg \\:BNIBZgr=@Kr=K:J:`J;tl;x:L?ZdJ:@dNZ;:r;S:OJ:HCZy[?BZHB>[yL:@[:I:xI` :D:KB:xJ>Z:>:HFR;;B:;B[:b:DZ:B:DZFZR=<:bdZBL>ZL>:Z;^[:>:SZ=\\jJ:@b:>:KrZP:K r^twXC_=b]y^yHZLb>xi:B<;B;`:;rIR:<[jy:;J:xIB::^sStFaCmlV`yilPpl @ZIB\\ZIb\\J:bh<[:rQx?<_JCO@]j>:;r\\>Z:>:hHrQ]rk \\:>::;F:=B:;r;hJRxZFr[KJ:xJ:DJryQ>>ZZ>ZB>xBJ:p:r=HZI>[:Z>BD>Z;R<[I >[:R;>ZIZfK:D]D:;B;K:OJ:HCT=PbJ>Hb:>:Kri[EIZVH@xy:\\ZBR:?b:H[\\Fx@B:xe:BR>ZJ>XZ>BMbJ=b<[ IZ:=Kry=B@\\[;:X>Z\\nZtG[In\\\\nZIB; Z<;b;KB:N;:BKZyC:@Zy\\J>Z:=Kry\\;:X>ZpspYrpYBbQr=;B;Z<;r;KZ:P;:BKZ yC:@Zy\\J>Z:=Kry\\;:Z:=K ry\\;:X>Z>upYRf_bBZtL:DT@dJr]:dJ><::xe<>Z ;BjJ>xi:J:@:>;;B>[A;RKErR[bB]BEGr=pZH[:raJ:LJ:ZE>[:J?>ZMt>Zy[;ri B>;BjJ>hFbm=b::D>ZF>;;xA@Zy \\J>Z:=KrlZH=;roB:;ry:J>X>Z>upBk?r=LZ>F:DDZG>[:J?rbBIBZLpWtl;PB>ZA HBri<[J>Z:=KryJ:@:>[MbBZyH:<@;B>[a:>ZKoZPO\\;g\\rvZIR=dB;B: xCB;Z:Z;B:;B:Z:R:`J<:T:`:@Z:B:r=btZH>[:J?>Z]xI>Z;:Kr>:xu:BR>ZJ>XZ:Z;B:;B:Z@ZCZ; B:<:x:@DDDJ:xJ>J?rb:;BZ\\n]tl;PBr[Zy@:DZ;D;>[=xI>Z;:KJ:Z>Z:BdYR;BD[CEkUDNOj<<:G:M:=J:\\ BZDj;KRJ[iLWs:yG:?J;FJB;B\\j]:>e=vM=v=ME>YB: UJy@:;B:y>OoR:;JvxlR^Gf;:BBN@aUVRFMSQYsP_CD];`lhpj@H@^k>^erR;SD;SI;cF;CX;sE;;>I>:>C; j>?Z:n:F;f:Z:B=;B:A>B: =N:B\\:>xAZ:vyyM:>:;FZ;F:<:q ok=:mN:`c:FMv;KnBC:YJ?Gk:>Z:>:o?;jiDc<[C: :;:yJ\\@yX:ISv;C:<:V:>:::WkyyyyyYC>Z:v;uSvU:;T:?TvEZ:FZCB:xZZArXxZFZ:r=LZb>Z:R:`J r=[:>:::b:dZBZ:>\\:R;r=BP;ZLb<Z=?ZEB@>Z>ri=R:;R:xi;Z;VZ> ^;[I>;B:;Z==<:hZhVZIB;[I\\b>:HZ:BB?J:H_EbArYB Z\\Pctl;xu:@J:>Zy=@j;PJ@J::HFR:B=tl;R=D\\:>Z:raZ<>: :@JBB:SJ:HB<=;RZ>:KrZJ>HcX]NHZH\\yd>D[yE:\\J:LZCZy Z;>ZJBvI:;ry>:ZJC:;Zu_:HQD>ZWo;;rtuJ:>Zoy[VJ: Z^H=AJ:>Z=y=;R:>Z?Z;Rqi=;::::::::::::::::::::::::::::::::::::::::: ::::sFYSD]ijE>:[F;CDSQFM]X>QFVKJU@UGHJ=>:yJ:::kK;@jyyyyyI:;Z::::::j=B:;Y:;^:;jysy;Z::::::jA>:CD:;J:j:vCSE:>:;:::::::::N[:NZ:vYxI :;Z::::::jBJDJ:j;<:[F:<:s@OJ::SR:f[:JD@:SB:>d;>:?J:NVn]:JB>Z:vchg_mWflgf_og ZVdbwG;B:w:SZ:VbG?dZ>dlWhbWH;j;j=<:V:>:V:^fYV;Q:;:Q:; :Q:;:Q:;:wB>^Z:B:G:=dVMURSm=jc`qpDpql`IZ>gf`Gfo_gn?^>gfmGgaog:>[:jcl`^ gF^[JJ=JI<:Q:GtUWEWaEBetVEESH:D:t;<;;BKZZ^d_ggj_g[_h_s:R:bA>ZGZM;LonLQ pVh:V:F:>::::::nxI^>^\\:jid[Kp@P>Z:vGU=aMJ>d:FF OE:CMpoi@<;:::::::=ZvyyuyAB:^:F :d:Nh:fFaMR>@>Z::::::::kB:?B:yay=J:>Z:::::: jF>:KVI>Z:::::::::::::yay=J:B:::::::::::::::::::jysy:>:<:::::::::::::: :::::vYxI:;Z::::::::jysyA:C:=Z:vYxY;J:JHkTB:G<=j>:IB:OG]u?AJ:n=IJ:^y:K:oi:EJ:>:yACB:f?=JA>Z:^^=f :yyyxIcV>[u?cV>[myyyyyIK:oQ:;>:^:f?A j=JxG:_JFs;V[J^s;fwIvs;vsIVt;NpI> u;flInu;FiI^v;^eIVw;>bIVx;^^IVy;fwHf[<>qHV^dH^dPcV=ah:MU=mi:;T=;s:mR=MLtmjsHjbmJJIJRmJaIjBmJyIjtlJRLjgljkLj[ljEMJQl j`MJHlj;PjCljIPJ@ljWPjTJniJMTj miJ\\TjmijkTjmij:UJnijIUJoijXUjpijgUJrijvUJtiJEXjviJTXjyijbXj_J^yDnbJnyDffJvyDVjJvyDNnJ vyD>rJnyDnuJ^yD^yJFyDN]KnxDv`KNxD^dKfwDFhKvvDnkKFvDNoKNuDnrKNtDNvKNsDF ]L>qDvcLVnDVjLVkDnpLFhDvvL^dDv\\Mn`DnbMf\\DNhMNxCfmMfsCnrMfnCfwM^iCN\\ NNdCf`Nf^CndNvxBfhNvrBFlNflB^oNNfBVrNn_B>uNFyAVwNNrAVxNnnAVyNNkANZOfgA >[OFdAn[O^`AN\\On\\Av\\OFy@N]OVu@f]Ofq@n]Ovm@>^OFj@>^OVf@>^O^b@n]On^@f ]O>[@N]ONw?v\\O^s?N\\Ovo?n[ONl?>[Ofh?NZO>e?VyNVa?VxNv]?VwNVZ?>uNfs>VrN vl>^oNVf>FlN>`>fhNny=ndNns=f`N>n=N\\NVh=fwMFc=nrM>^=fmMFyp< v\\Mvku;v`KVt;N]Kvs;^yJ^s;nuJFs;>rJvr;NnJnr;VjJnr;^:;:?:;:;B:C:[Y:AB:CB:v^; :n=JwK=:^:f?A:J<>;f^=N:yX:^:f?A:J<: E;CF>qM<=KHlJ<>:UK;:>:Jr;v>:w:NY:;:C:Uk;:^:jLjmijk>iMFv<^Z:>:UK;:>:Jr; v>:w:NY:;:C:Uk;:^:jLJvHkj_jJVf@^:f??:J::[AjMJHDJ:>Z=B:;jrZ:^]:>:qQBZ::>=;j:oqf:^:f?Aj=Jx?:;B:J=i:su>=AAi:qu>Ci:ou>Ei:ku>Ei:gu>Ei:eu>CQtHkkEJtHkjEJtH;vuiMfuYi:gu>Wi:ku>Wi:ou>Wi:qu>Yi:sMrEJxHKs_Ij;HJxHk;J ;r:gu>yi:ku>wi:om yEjwHK:^iMFZ=^iMV:s=V\\=^IjDHjwHKEHJwHkEHJvHkEHJuv\\=fhMn\\=^hMf\\=^Ha r:c=N\\=fhM>\\=nHYr:ku>Yr:ou>Yr:qu>[r:sMCHJxHkC^IJLHJxH;f^=VIIs:ou>Ks: ku>Ks:gu>Ks:eu>Is:cu>Es:cMLHJt:?s:emJHJuHKJ>iM>^=NiM>^=ViMF^=^I?s:sML^ IjTHJxH;n`=ViMv`=NIks:kmVHJuHKVHjtv`=^Hgs:cmTHJt:as:eu>_s:gu>]s:ku>[s: omRHjwHKSHJxV`=^IeKx:Et:s=vb=ViM>c=NiMFc=>iMFc=nHMt:eu>Kt:cu>It:cm\\HJ t:Ct:eu>?t:gmZHJvFb=NiMFb=VI?t:sM\\HJxfBs=nd=^iM:it:qmfHJwHKgHJvHKgHJu HKgHjtHkfHJtHkeHJtnd=^HJdHjtVd=nhMNd=>iMNd=NiMNd=ViMVd=^Ict:sMe^IjmHJx H;>g=ViMFg=NIOu:kmoHJuHKoHjtFg=^HKu:cmmHJt:Eu:eu>Cu:gu>Au:ku>?u:omkHjw HKlHJxff=^IIMx:iu:s=Fi=ViMNi=NiMVi=>iMr:gmwHjtHKwHJtHkvHJtvh=^HJuHjt^h =nHau:kmsHJwHksHjw^h=^Igu:smu^IJ>IJxH;Fk=ViMVk=NiM^k=>iM^k=nhM^k=fhMVk =^hMFk=^HKv:c=nj=fHEv:gu>Cv:ku>Cv:ou>Cv:qmJGIjwHkGI Jw^m=>Iuv:gu>sv:emGIJtNm=^Hmv:c=vl=fHgv:gu>ev:ku>cv:omDIjwnl=^Iiv:smF_ IjNIJx:Qw:qu>Sw:ou>Uw:ku>Ww:gu>Uw:eu>Sw:cu>Qw:cmNIJt:Kw:eMMIJufn=>IEw: omLIjwnn=^IKw:smN_IJWIJxH;^q=ViMfq=NiMnq=>iMnq=nHww:eu>uw:cu>sw:cMWIJt :kw:emUIJunp=>Igw:ou>gw:qmUIJx>q=^IoOx:Qx:su>J`Ijwns=NiMns=>IYx:gu>Wx: eMaIJtHK`IJtVs=^Hj^Ijt>s=nHIx:km]IJwvr=ViM>s=^IMx:sm__IjgIJx:ux:qu>wx: omiIJv>v=nHyx:eu>wx:cmhIJtVu=^HJgIjt>u=nHix:kmeIJwvt=VIkx:sMgIJxVUs=^w =^iM:Wy:qu>Yy:oMrIJv>x=nH[y:eu>Yy:cu>Wy:cMpIJt:Oy:emnIJu>w=>IKy:oMnIjw Fw=^IOy:sMp_IjxIJxH;ny=VI;B;ou>;B;ku>=B;gu>LjtHK:LJtHKyIJtfy=^HjwIjtNy =nHmy:kmvIJwFy=VIoy:smwIJxfYs=f[>^iMf;v[>ViM>\\>NI]B;ku>_B;gu>]B;eu>[B ;cmALJtHk@LJtH;^[>fhMN[>nhMF[>>iMF[>NiMF[>ViMN[>^iM^[>^iMf;s=n]>^iM:;C ;qu>=C;ou>?C;ku>?C;gMKLjtHkJLJtHKJLJtn]>^hM:sB;emGLJuHKGLJvHKGLJwHKGLj wHkGLJxHKHLJxn=s=v_>^iM:[C;qMSLJwHKSLJvV`>nhMN`>fH_C;cu>[C;cmQLJt:UC;e u>SC;gu>QC;ku>QC;ou>QC;qu>SC;smPLJxv?s=va>^IjZLjwHK[LJwVb>>iM^b>nhMVb> fhMNb>^H=D;cmYLJt:wC;eu>sC;gmWLJvVa>NIqC;qMXLJxna>^IyKx:[D;su>JcLjwHkc LJwHKdLJvHKdLJu^d>fhMVd>^hMNd>^H[D;c=nc>fHUD;gu>SD;ku>SD;ou>SD;qu>UD;s MaLJx>Ds=Ff>^iM:?E;qMlLJwHKlLJvff>nhM^f>fHCE;cu>?E;cmjLJt:yD;eu>wD;gu> uD;ku>uD;ou>uD;qu>wD;smi^I=Mx:]E;s=VHqu>cE;omtLJvHKuLJuHktLjtHKtLJtVh> ^H]E;c=>h>fHWE;gMqLJvHkpLJwng>ViMng>^I[E;smr^IJ;MJxH;^j>ViMfj>NiMnj>>i Mnj>nHGF;eu>EF;cu>CF;cM;MJt:;F;emyLJuHKyLJvni>NiMni>VIyE;sM:MJxNJs=Vl> ^iM:cF;qMEMJwHKEMJvvl>nhMnl>fhMnl>^hM^l>^HaF;c=Fl>fH[F;gu>YF;ku>YF;ou> YF;qMBMJxFl>^IaNx:AG;s=fn>ViMnn>NIIG;ku>KG;gu>IG;eu>GG;cmLMJtHkKMJt:?G ;eMJMJu>n>>IyF;oMJMjw>n>^I?G;smK_IJTMJxH;np>ViMvp>NiM>q>>iM>q>nHkG;eu> iG;cu>gG;cMTMJt:_G;emRMJu>p>>I[G;oMRMjwFp>^I_G;sMT_Ij\\MJxH;nr>VIKH;ou >KH;km^MJuHK^Mjt>s>^hMnr>^HEH;c=Vr>fH?H;gmZMJvFr>NI=H;qM[MJxVr>^IEPx:e H;s=vt>ViM>u>NImH;kMgMJuFu>fhM>u>^HiH;cmdMJt:cH;eMcMJuNt>>I]H;oMcMjwNt >^IcH;smd_IJmMJxH;>w>ViMFw>NIOI;kMoMJuNw>fhMFw>^hM>w>^HGI;c=^v>fHAI;gM kMJvNv>NI?I;qmkMJx^v>^IGQx:iI;su>JvMjwNy>NIqI;kmwMJuHkwMjtHKwMJtHKvMJt vx>^HjtMjt^x>nHaI;kmsMJwVXqMtMJxfx>^IiQx:KR;su>K:MR;qu>OR;ou>QR;ku>SR; gu>QR;eu>OR;cm>PJtHK>PJtH;nZ?fhM^Z?nhM^Z?>iMVZ?NiM^Z?ViM^Z?^iMnZ?^iM>; s=>]?^IJGPjwHkGPJwHKHPJvHKHPJu^]?fhMV]?^hMN]?^HkR;c=n\\?fHeR;gu>cR;kMD PJwHKDPjwf\\?^iMn\\?^IkJx:MS;su>JOPjw^_?NiMf_?>iMf_?nhMf_?fhM^_?^hMN_? ^HMS;c=v^?fhMn^?nhMf^?>iMf^?NiMf^?ViMn^?^IIS;su>MKx:oS;su>jWPjwHKXPJwf a?>IwS;gu>uS;eMXPJtVa?^HoS;c=>a?fhMn`?nHgS;ku>eS;oMUPjwHKUPJx>a?^IoKx: OT;s=^c?ViMfc?NiMnc?>iMnc?nHWT;eu>UT;cu>ST;cM_PJt:KT;em]PJuHK]PJvnb?Ni Mnb?VIIT;sM^PJxNCs=Ve?^iM:sT;qMiPJwHkiPJvHkiPJuHkiPjtHKiPJtHKhPJtVe?^H jfPjtHKfPJuHkePJvHkePJwHkePjwHKfPJxFe?^IqLx:SU;su>jpPjwHKqPJwvg?>I[U;g u>YU;eMqPJtfg?^HSU;c=Ng?fhMFg?nhM>g?>iMvf?NIKU;qu>MU;sMoPJx^Gs=^i?^IJy PjwHkyPJwHK:QJvHK:QJu>j?fhMvi?^hMni?^HsU;c=Ni?fhMFi?nHkU;kMvPJwHKvPjwF i?^IoU;sMx^Ij@QJxH;nk?VI[V;ou>]V;ku>]V;gu>]V;eu>[V;cu>WV;cm@QJt:QV;eM? QJuHk>QJvHk>QJwHk>QjwNk?^IQV;sm@_IJIQJxH;vm?ViM>n?NI=W;kMKQJuHkJQjt>n? ^HyV;cMIQJt:sV;eu>qV;gu>oV;ku>mV;oMGQjwVm?^IsV;sMI_IJQQJx:[W;qu>]W;ou> _W;ku>_W;gMSQjtHkRQJtHKRQJtno?^HjPQjtVo?nHOW;kMOQJwNo?VIQW;smPQJxHKQ_I jYQJxH;>r?VI?X;ou>AX;ku>AX;gu>AX;eu>?X;cu>;X;cmYQJt:uW;eMXQJuVq?>IqW;o u>qW;qMXQJxfq?^IyOx:[X;su>jbQjwHKcQJwVt?>IcX;gmcQjtNt?^H]X;cMbQJt:WX;e u>UX;gM`QJvVs?NISX;qu>UX;sMaQJx>Ts=>v?^IJkQjwHkkQJw^v?>ICY;gMlQjtHkkQJ tHKkQJt>v?^HjiQjtHkhQJu^u?>IsX;oMhQjwfu?^IyX;sMj_IjrQJxH;Nx?VIcY;omtQJ vfx?nHeY;eu>cY;cu>_Y;cmrQJt:YY;eMqQJufw?>IUY;ompQjwnw?^IYY;smr_IJ;TJxH K;j;TjwH[@NiMfZ@>iMnZ@nhMfZ@fhM^Z@^hMVZ@^hMNZ@^hM:;b;eu>yY;gMyQJvfy?NI wY;qmyQJx>Z@^iMN:s=N\\@^IJDTjwHkDTJwHKETJvHKETJun\\@fhMf\\@^hM^\\@^H_b ;c=F\\@fhMv[@nhMn[@>iMn[@NiMn[@ViMv[@^iMF\\@^iMNGc;ou> Ic;ku>Ic;gu>Ic;eu>Gc;cu>Ec;cmKTJt:=c;eMJTJuHkITJvHkINiMv]@ViM>^@^I=c;s mKTJx:cc;su>jTTjwn`@NIic;kMVTJuHkUTjtn`@^Hec;cMTTJt:_c;eu>]c;gu>[c;ku> [c;ou>[c;qu>]c;sMSTJx^@s=^b@^IJ]TjwHk]TJwHK^TJvHk^TJuHK^TjtHk]TJtHK]TJ t^b@^Hj[TjtHkZTJu>b@>I;d;oMZTjwFb@^IAd;sM\\^IjdTJxH;vd@ViM>e@NiMFe@>iM Fe@nHmd;eu>kd;cu>id;cmdTJt:ad;eMcTJuHkbTJvHkbTJwHkbTjwHKcTJxVd@^IeLxJ< :C:N:C:[ACB:v>xy;JIZ:NYEQvHkloHEqtHKlE:Ai:HkjEJtHkiEjtnuup wnu<^Iyh:smj_IAqw^VomlEJvfVjmHklE:nfMfVCu>Ci:Cu>AqkHkjEJlHki_fMnuuh:jnHkhEJoHKiEjoHkiEJpHkjWgMVvyh:ct>wpdHkhEjeHkh;kt>uPgHKiOeMvuup^HKiEJ_Hki OcMFvCi:Kt>EQ]fVjTHkl;cs>EQSHKlEjRHkkEjRHkjEjRHkiEJSHKiEJTHkh g`MfUjUHkh?aMnuAi:ks>Ci:is>EqTfVjLHkl;As>Ei:?s>CqJHkkG^ MFV=s>yPKHKiW^Mfuyh:Ms>=i:Ks>Ai:Ks>CQMHklg>EA^\\MfV JCHklEjBHKlEJBHkkEJBHkjEJBHkiEjBHKiEJCHkhEJDHkh;gr>upEHKiEJFHki?]MFVkr >AqEHKlEJEHkl_ZMnuu@fZM fUGr>wh:Ir>yh:Kr>=q=HkkEJ=HKlEjxL^v=qq Eki?xLnuuh:gi>wh:gi>yh:ii>=i:gi>Ai:gi>Ci:ci>Ei:aql;?i >Ei:JjEklEjiEKlEJiEkkEJiEkjEJiEkiEZLnu<>vLfuuplEKiEJmEkiovL FVGi>AqlEKlEJlEklOVD:FtLfVJbEklosL^vtLfU]h>u @VtLfUch>wh:eh>yh:gh>=qdEkkEJdEKlEjcEklGTEAFrLfVjYEklEJYEKlgqLVVug>=qX EkioqLnUyg>uh:=h>u@NrLfUAh>wh:Ch>yh:Eh>=i:Ch>Ai:Ah>Ci:?h>EqZgVJREkl;Wg >Ei:Ug>Ci:Sg>Ai:Sg>=i:Sg>yh:Ug>wh:Wg>uh:[g>u@NpLfUag>wPTEki_pLFv<^pLVV ag>CQSEkl?PEAvmLfVJIEkl_mL^vu@FnLfU?g >wh:Ag>yh:Cg>=qKEkkEJKEKlEjJEklwMEAvkLfVj@EklEJ@EKlWkLVVOf>=i:Qf>yP@EK igkLfulLfVYnl;we>EA^iLfvyh:qe>wh:se>uh:we>u@viLfU=f>wP;EkiOjLFvCqyDk loIEAfgLfVJpDklOgL^vu@vgLfU[e>wh:]e>y h:]e>=i:]e>Ai:[e>CqqDklgGEAfeLfVjgDklEJgDKlGeLVVkd>=i:md>yPgDKiWeLfuyh:=e>=QjDkkEjiDKloeLfVull;Sd>EANcLfvcLVv<>cL FVKd>yh:Md>wh:Od>uh:Sd>u@fcLfUYd>wPbDki?dLFv<>dLVVYd>Cq`Dkl_CEAVaLfVJW Dkl?aL^v=qUDkiEJVDKiEJWDkhWaLfUjXDkhoaLnUyc>ypYDkjwaLVVwc>CqX DklWAEAV_LfVjNDklEJNDKlw^LVVGc>=qMDki?_LnUMc>uh:Qc>u@^_LfUUc>wPQDkiEjQ Dkjo_LVVUc>CQPDklW?EAN]LfVJFDklEjEDKlEJEDkko\\LFVgb>ypEDKiEJFDkhEJGDkh ;qb>upHDKio]LvUwb>=QIDkkg]L^Vqb>EQGfVj>Dkl;Ib>Ei:Gb>CqyP=D KiwZLfuyp@Dkjg[LVVSb>Cq?DklG;EAFyKfvuh:qY>wh:sY>yh:uY>=i:sY>Ai:qY> Ci:oY>Ei:mql;KY>Ei:JmAklEjlAKlEJlAkkEJlAkj_vKvuwKfu<:MY> upoAKi_wKvUSY>=i:SY>AqoAKlGwKfVKql;iX>EAftKfv<^tK^vEAfrKf VAX>Ci:AX>AQ[AkjEj[AkiWrKnuu@>sKfUMX>wh:OX>yh:QX>=Q_AkkEj^AKl EJ^AklwREAnpKfVJTAklEjSAKlOpKVvyh:aW>wPTAkhEJUAkh;iW>upVAKiOq KvUoW>=i:oW>AqVAKlwpKfVgol;EW>EAVnKfvoK^vEAVlKfV]V>Ci:] V>AQBAkjEjBAkiGlKnuu@nlKfUiV>wh:kV>yh:mV>=QFAkkEjEAKlEJEAklgL EA^jKfVJ;AklEj:AKl?jKVv<>jKFV;V>yh:=V>wP;AkhEJup=AKi?kKvUKV>=i :KV>Aq=AKlgjKfVCnl;aU>EAFhKfv<>hK^vhKnuyh:iU>=i:iU>Ai:gU>Cqt@klWHEAVfKfV?U>Eqj@klweK^v =i:yT>ypi@KiEjj@khOfKfUAU>uPl@khgfKnUGU>yh:IU>=Qm@kkEjl@Kl_fKfVAml;_T> EA>dKfvAi:WT>=Qa@kiEja@Ki?dKfuyPe@kjEjd@kk gdK^VaT>EQcfVjZ@kl;yS>Ei:wS>Ci:uS>Ai:uS>=qX@kiEJY@KiEjY@khEjZ@kh;AT>uP \\@KigbKvUET>=i:ET>AQ\\@KlWbKfV=ll;[S>EAv_KfVUS>Ci:US>AQP@kjg_KvUUS>wh :YS>uPR@kh;_S>upS@Ki_`KvUeS>=QT@kkW`K^V_S>EQRfVJJ@kl;wR>Ei:uR>CQH@kk_] KFVsR>ypH@Kio]Kfu<>^KfUjJ@khW^KnUAS>yPL@kjEjK@kkW^K^V=S>EQJfVjA@kl;UR> Ei:SR>Ci:QR>Aq?@kjW[KvUSR>wh:UR>uh:YR>u@F\\KfU_R>wpC@kiW\\KFVaR>AQC@Kl G\\KfVYjl;wI>Ei:wAuI>Ei:qI>Ci:qI>Ai:oI>=i:qI>yh:qI>wh:uI>uh:wI>uh:J:@k hGZKnU?R>yp;@kjOZKVV=R>CQ:@klkloYnwJfVJp=klEjo=KlOwJVvyh:QI>w Pp=khEJq=kh;YI>uh:]I>wh:]I>yh:_I>=i:]I>Ai:]I>Cqq=klEJqgVjh=kl;qH>Ei:oH >Ci:mH>Ai:mH>=i:mH>yh:oH>wh:qH>uh:uH>u@vuJfU;I>wh:=I>ypj=kjEjj=kk?vJ^v EAVsJfVMH>Ci:MH>AQ^=kjEj^=kiGsJnuu@nsJfUYH>wh:[H >yh:]H>=Qb=kkEja=KlEJa=kl_SEA^qJfVJW=klEjV=Kl?qJVv<>qJFVkG>yh:mG>wPW=k hEJX=kh;uG>upY=KiwqJvu<>rJFvEQXgVjO=kl;MG>Ei:KG>Ci:IG>A i:IG>=i:IG>yh:KG>wh:MG>uh:QG>u@foJfUWG>wh:YG>ypQ=kjEjQ=kkooJ^vEAFmJfViF>Ci:gF>Ai:gF>=i:gF>yh:iF>wh:mF>uPG=kh;sF>uh:uF>wh:wF>yh: yF>=QI=kkEjH=KlEJH=klOMEANkJfVJ>=klEj==KlojJVVGF>=Q==kiwjJnUKF>uh:OF>u @VkJfUUF>wp@=kiEJA=kjEj@=kkEj@=KlWkJfVOnl;CB::CB:J;XGB:AB:n=IB:Z:^:f?AB::=B:WJ:^]:>Z:VYOuyB:>L;B:;B:<>=ln^G;J:::::C:UK=^Z: JQ>]:B:NZ;B:EB:F;>ZZ:N`DnaAnDCB:;jkZ:^:f_;fZ:B:> X^]:>:qAB:>L>Z:BJFB:;::::^:f?GJ=J;@:j>Z<^;N@fcNVZ:>:AuUaE:Qlc:C:Uk<:[As:qAB:>L>Z:BJFB:;::::^:f?GJ=J;@:j>Z?_K :C:Uk<:[As:qAB:>L>Z<>Z:cNaTXUeRYEUB::::JZ:C:Uk<:[As:qAB:>L>Z:BJFB:;::::^:f?GJ=J;@:j>ZXV:n=C:Uk;:F:W:C;]V=od:]V=Ot:]E>Ot:]MgDjBOECB:f??:J:: I;jw;<:[>;B:<>=Z:_K:C:Uk<:[As:qAB:>L>Z<>:D?vGB::::JX^=VYZ:JBK:::::JJSj;X^=VYZ:JBK:::::J: _KJLj;xj<<:KCFS[cO@aD:OC:OLS<:n?;J;B:<>=Nv:f;;Jvx\\ZBBx\\kV_]G_=Nc:N?aD:e:VC_C :C:WK:^:f?E:>X^=VYZ:JBK:::::JZ:N@eV;?Q?<:a =kED]sDVc:N?kLONCVDVC^:n?;J;B:<>=Z:BJFB:;::::^:f?GJ=J;@:j>Z:_kl\\Jk=JBiXCD]sDnelV ?J`fBN@aLfVCcC:ED:J`nb:Vd:jc:C:Uk<:[As:qAB:>L>Z:BJFB:;::::^:f?GJ =J;@:j>Z:k]ZV_ZN`rcFAEBQCXwdFt_ZjktOS^c:fBN_:>EOkc ^c::QLOFEQD:ELdX^=VYZ:JBK:::::J>:_KaOyAFZ:>:UC:_C:C:WK:^:f_;f:JrKHjw;<:[>;B:<>=:]SI[KdX^=VYZ:JBK:< Z:kZ:>::::J_kV_roEMsRw\\eJJ\\Qi>^]? ^e>^roEES:C:Uk<:[As:qAB:>L>Z:BJFB :;::::^:f?GJ=J;@:j>B:Dj>JSdJUfxAFZ:jP:C:US:E:>X^=VYZ:JBK: ::::J;B:<>=;B:<>=:C:US:E:>X^=VYZ:JBK:::::JEC:WK:^:f?E:>X^=VYZ:JBK:::::J:C:US:E:>X^=VYZ:JBK:::::J_n>^roen>^bN@aLO:C:Uk<<:>X^=VYZ:JBK:< Z:kZ:>::::JJSvMUh;=B:;jPL >Z:BJFB:;::::^:f?GJ=J;@:j>ZiXO`FVd:N_:N@alf^ c::_kSX^=VYZ:JBK:::::JJSvM] g<=B:;jP:C:US:E:>X^=VYZ:JBK:::::J :_;Ci<[B:X^=VYZ:JBK :::::J:C:Uk<:[A s:qAB:>L>Z:BJFB:;::::^:f?GJ=J;@:j>ZL>Z:BJFB:;::::^:f?GJ=J;@:j>Z[:>:\\A;KJVd:^CJO:C:Uk<:[As:qAB:>L>Z:BJFB:;::::^:f?GJ=C:?R::M:Dj@:C:US:E:>X^=VYZ:JBK:::::J:KSFMSQYsP_CD][XSDuD:_C:aEQl\\fd:N`:N?C:WK:^:f?E:>X^= VYZ:JBK:::::J^bVc:JfF?OKS^ :n?;J;B:<>=;B:<>=I_ CBF`c>^i>^bBBQCBk]cVc:fBaLO:C:Uk<:[A s:qAB:>L>Z:BJFB:;::::^:f?GJ=J;@:j>ZuJNv:F>VhZJv:C:Uk<:[AA:;:::Ja@Na`^:B::::::::::::::::::::::::5:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "which then gives\n" }}{PARA 0 "" 0 "" {TEXT -1 35 " si = 2 x / ( 1 + xi^2 )\n" }}{PARA 0 "" 0 "" {TEXT -1 42 " ci = (1 - xi^2 ) / ( 1 + xi^2 )" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 13 "for i = 4 , 5\n" }}}{EXCHG {PARA 0 "> " 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% \"*_\"*ob\"-%'MATRIXG6#7#7+,$*,\"\"%\"\"\"%#x4GF/,&F/F/*$)F0\"\"#F/F/! \"\"%#x5GF/,&F/F/*$)F6F4F/F/F5F/,$*,F4F/F0F/F1F5,&F/F/F8F5F/F7F5F/,$*, F4F/,&F/F/F2F5F/F1F5F6F/F7F5F/**F?F/F1F5F " 0 "" {MPLTEXT 1 0 53 "y:=ScalarMultipl y(x,(1+x4^2)*(1+x5^2)):\nTranspose(y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*+2md\"-%'MATRIXG6#7#7+,$*(\"\"%\"\"\"%#x4GF/%#x5G F/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 109 " qy:=simplify(Z.y):\nmMy:=PolyVarsMonomials(M2L(qy),plex(x4,x5)):\nMy:= PolyCoeffMatrix(M2L(qy),mMy,plex(x4,x5)):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "There are 6 equations for 8 monomials and 2 variables in \+ My:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "`My = `, ),spy(My)>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%&My~=~G-%'RTABLEG 6%\"*?H7=&-%'MATRIXG6#7)7+*&)%#x4G\"\"#\"\"\")%#x5GF0F1*&F3F1F.F1*$F.F 1*&F/F1F2F1*&F/F1F3F1F/*$F2F1F3F17+%\"*GF:F:F:F:F:F:F:F:F9F9F9F9F9%'Ma trixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 133 "We can add three more e quations as follows.\n\nWe see that when multiplying all 6 equations b y x4 adds 6 equations but only 3 monomials" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 79 "mxy:=convert(map(f->f*x4,mMy),set) union convert(mM y,set);\nnops(mxy)-nops(mMy);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$mx yG<.\"\"\"*&%#x4GF&%#x5GF&*&F(F&)F)\"\"#F&*&)F(F,F&F+F&*&F)F&F.F&*$)F( \"\"$F&F(F)*$F.F&*$F+F&*&F1F&F+F&*&F)F&F1F&" }}{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:=PolyVar sMonomials(M2L(qyy),plex(x4,x5));\nMyy:=PolyCoeffMatrix(M2L(qyy),myy,p lex(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 "Chec k it." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "Transpose(simplify (simplify(>)-qyy));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RT ABLEG6%\"*[ZDb\"-%'MATRIXG6#7#7.$\"\"!F-F,F,F,F,F,F-F-F-F-F-F-%'Matrix G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 3 "OK." }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 45 "There are 12 equations for 11 monomials in My" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "`Myy = `, ), spy(Myy)>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%'Myy~=~G-%'RTABLEG6%\"* WYRH&-%'MATRIXG6#7/7.*&)%#x4G\"\"$\"\"\")%#x5G\"\"#F1*&F3F1F.F1*$F.F1* &)F/F4F1F2F1*&F3F1F8F1*$F8F1*&F/F1F2F1*&F/F1F3F1F/*$F2F1F3F17.%\"*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 vector, this system h as 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 s3, c3 apear in elem ents 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 "" {MPLTEXT 1 0 9 "Myy[1,1];" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,(*&$\"?ZYVP@)QMEhYi\">RF!#G\"\"\"%#c3 GF(!\"\"*&$\"?$**=\\&)QJ&3l " 0 "" {MPLTEXT 1 0 47 "Transpose(simplify(simplify(>)-qyy));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*%oJ8:-%'MATRIXG6#7#7.$\"\"!F-F,F,F,F,F,F -F-F-F-F-F-%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "Parametri ze s3, c3 by x3" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 "Mx3:=sim plify((1+x3^2)*subs([s3=(2*x3)/(1+x3^2),c3=(1-x3^2)/(1+x3^2)],Myy)):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "Mx3[1,1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,($\"?5%[!>K_$*z-%[wGi$H!#G\"\"\"*&$\"?/x\"R\\(G\" o!G;9?h9%)F&F')%#x3G\"\"#F'F'*&$\"?')z$)4xF1 " 0 "" {MPLTEXT 1 0 42 "m x3:=PolyVarsMonomials(M2L(Mx3),plex(x3));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$mx3G7%*$)%#x3G\"\"#\"\"\"F(F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "Compute the deteminant giving a plynomial in x3. " } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "dx3:=sort(Determinant(eval f(Mx3)));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$dx3G,T*&$\"?5!o.eyT7.! =]K,*R'!#D\"\"\")%#x3G\"#CF*F**&$\"?9f1qDFD<$y=?=I_'!#CF*)F,\"#BF*F**& $\"?%[]X&R0O7@#418Z1$!#BF*)F,\"#AF*F**&$\"?Tl(fn#Rc#4i3&HPZ%*F7F*)F,\" #@F*F**&$\"?n@3L/;E\"4]y>$y$G#!#AF*)F,\"#?F*F**&$\"?#\\#H*)f:DTV%fPZ!p YFBF*)F,\"#>F*F**&$\"?>x[l8lPk\"\\iy@pH)FBF*)F,\"#=F*F**&$\"?w'oaamh%e E%Q-3wJ\"!#@F*)F,\"#FRF*)F,\"#;F*F**&$\"? H0c$*y?K>kj85i3DFRF*)F,\"#:F*F**&$\"?z(eIE*frW:$)QSk[IFRF*)F,\"#9F*F** &$\"?13W!H%)*)z'oZJ0JAMFRF*)F,\"#8F*F**&$\">GzEn-sp6!)H$yg]N!#?F*)F,\" #7F*F**&$\"?JeKu<#\\'z]5L%HwS$FRF*)F,\"#6F*F**&$\">)o*e!o;9'zY]h3$=IFf oF*)F,\"#5F*F**&$\"?'R.@[dQ'o!Qa_;\"fCFRF*)F,\"\"*F*F**&$\">z]A!)G'Ru[ pR\"3$H=FfoF*)F,\"\")F*F**&$\"?AX7$>Rcw:Xz$yCJ7FRF*)F,\"\"(F*F**&$\">v x2=*=N+C4Qi>!Q(FRF*)F,\"\"'F*F**&$\">0uf8M+#4?!\\lgr%QFRF*)F,\"\"&F*F* *&$\">H?A^:=Oa-cQeXp\"FRF*)F,\"\"%F*F**&$\"=Q#H].9(>')\\.%HH#fFRF*)F, \"\"$F*F**&$\"FRF*F,F*F*$\"9>T\"oru)=(y$)R;*FfoF*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "Normalize it to get 1 at the x3^24 to maximize the precis ion" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 85 "nf:=LeadingCoefficie nt(dx3,tdeg(x3))^(1/12);\ndx3nf:=sort(Determinant(evalf(Mx3)/nf));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#nfG$\"?*4]@A_+3+1`aM[^#!#H" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%&dx3nfG,T*&$\"?:S)G(**************** ******!#I\"\"\")%#x3G\"#CF*F**&$\"?)=R`:A(Q1P^h(y$>5!#GF*)F,\"#BF*F**& $\"?M43?0J$y%*R%yDN*y%F1F*)F,\"#AF*F**&$\"?!=>![\\\\*y$RG^'zjZ\"!#FF*) F,\"#@F*F**&$\"?Q_I'>H!Gi.\"z]h*oNFF*F**&$\"?^Y\"z%\\z0fI^PRf'H\"!#EF*)F,\"#=F*F**&$\"?_!R 7/P%*)=!3b+!3f?FLF*)F,\"#\"z#Hm^q>(HFLF*)F,\"#;F*F* *&$\"?[w>$))=9zFW\"oZK?RFLF*)F,\"#:F*F**&$\"?%o'=\"*=XZ&>2(f3CkZFLF*)F ,\"#9F*F**&$\">YUJ<_`WFTny%=[`!#DF*)F,\"#8F*F**&$\">g\"HJgX%zlfEB!o[bF `oF*)F,\"#7F*F**&$\">`40()4.PVHK.U_K&F`oF*)F,\"#6F*F**&$\"?9v#eZ0u+dR4 XMor%FLF*)F,\"#5F*F**&$\">D2$)3'3)f2\"ex?'H%QF`oF*)F,\"\"*F*F**&$\">9i kg[nEo>qsM(eGF`oF*)F,\"\")F*F**&$\"?\"GeY6,SMXsrS@T#>FLF*)F,\"\"(F*F** &$\"?T=0%4a%[]aw#[LL:\"FLF*)F,\"\"'F*F**&$\">&)*=r*=yV_*>pa67gFLF*)F, \"\"&F*F**&$\">B*4ZOLoP%e#pd:[EFLF*)F,\"\"%F*F**&$\" " 0 "" {MPLTEXT 1 0 53 "dx3n:=sort(dx3nf/LeadingCoefficient (dx3nf,tdeg(x3)));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%dx3nG,T*&$\"? &*****************************!#I\"\"\")%#x3G\"#CF*F**&$\"?LL5e@sQ1P^h (y$>5!#GF*)F,\"#BF*F**&$\"?Lx1L0J$y%*R%yDN*y%F1F*)F,\"#AF*F**&$\"?GD-_ \\\\*y$RG^'zjZ\"!#FF*)F,\"#@F*F**&$\"?FG)f?H!Gi.\"z]h*oNFF*F**&$\"?$\\I9&\\z0fI^PRf'H\"!#E F*)F,\"#=F*F**&$\"?\\C#o/P%*)=!3b+!3f?FLF*)F,\"#\"z# Hm^q>(HFLF*)F,\"#;F*F**&$\"?$*z#Q*)=9zFW\"oZK?RFLF*)F,\"#:F*F**&$\"?!R 0T!>XZ&>2(f3CkZFLF*)F,\"#9F*F**&$\"?(eWw=_`WFTny%=[`FLF*)F,\"#8F*F**&$ \"?!RPj/cWzlfEB!o[bFLF*)F,\"#7F*F**&$\"?Y%\\\\))4.PVHK.U_K&FLF*)F,\"#6 F*F**&$\"?twh)[0u+dR4XMor%FLF*)F,\"#5F*F**&$\"?=ys)4'3)f2\"ex?'H%QFLF* )F,\"\"*F*F**&$\"?zQ@9'[nEo>qsM(eGFLF*)F,\"\")F*F**&$\"?Dd()>6+W`C<297 C>FLF*)F,\"\"(F*F**&$\"?=#zr4a%[]aw#[LL:\"FLF*)F,\"\"'F*F**&$\"?!H#\\( )*=yV_*>pa67gF-#=m(GEfu87G&f* )F17#^$$\"?.ef2rQd%\\&etl2!)fF1$!?*>-#=m(GEfu87G&f*)F17#^$$\"?!\\Bo>.l ZvZ)eu%Q^&F1$\"?S(*fH\"pZdVBP!=xB))F17#^$$\"?([Bo>.lZvZ)eu%Q^&F1$!?P(* fH\"pZdVBP!=xB))F17#^$$\"?S/\\$G\\K&G)ovm\"4)Q$!#O$\"?V!)o#G%zB%)4\"Q_ +++\"!#H7#^$$\"?2X%QG\\K&G)ovm\"4)Q$FJ$!?T!)o#G%zB%)4\"Q_+++\"FM7#^$$ \"?kHPv#)yNiBg))\\7Q_FJ$\"?%*fF:P3>h'******F17#^$$\"?%)pKs#)yNiBg ))\\7Q_FJ$!?-gF:P3>h'******F17#^$$!?Ri-T6.sI(3>))4\"Q_FJ$\"?Gi\"f $eCQ\"o5)Q.++5FM7#^$$!?jn/T6.sI(3>))4\"Q_FJ$!?Gi\"f$eCQ\"o5)Q.++5FM7#^ $$!?N0QkF=o]%\\H=FM$\"?M6tp ?GP.Enn/k3gFjr7#^$Fas$!?N6tp?GP.Enn/k3gFjr7#^$$!?)yf*)oV[!*\\rb4]&e@FM Ffp7#^$$!?*34h2aAkClS-%=e@FMFfp&%'VectorG6#%'columnG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 65 "Select the real solutions and convet them into \+ the rational form." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 111 "x3sR :=:\nx3s:=map(x->conve rt(Re(x),rational),x3sR);evalf(x3s); \n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$x3sG-%'RTABLEG6%\"*#z[p9-%'MATRIXG6#7&7##!0,n9^f-;#\"1=#o'o+, .<7##!0f\"p2:w65\"09_$3q\"*3!)7##!0d??Tpd%R\"0\\'>G@(z#=7##!1r9nE3KG= \"0Yg " 0 "" {MPLTEXT 1 0 120 "map(x->subs(x3=x,evalf([(2* x3)/(1+x3^2),(1-x3^2)/(1+x3^2)])),x3s);\nVector(%id = 146527552)evalf( subs(Position,[s3,c3]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG 6%\"*_&QT:-%'MATRIXG6#7&7#7$$!?#Hpc0/\"4Pp\"p*R\"o\\#!#I$\"?h8q%)fg+HU !*G/G$o*F/7#7$$!?yJxs^H)ya[;())*o[#F/$\"?V8y)ew%>6jG6;$eo*F/7#7$$!?iD$ G'3\"RtK3W,x#GwF/$!?kAJQr:Skp\\y!=gY'F/7#7$$!?mC=0\\%yw\"GrpN6HwF/$!?Z V%\\WB\\deLR-J]Y'F/&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$!?1gu$GU#)ya[;())*o[#!#I$\"?laPo,\\>6jG6;$eo*F&" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT 264 41 " Substitute back and solve for all angle s" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "Solve for x5, x5 from Mx3" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "ixs:=2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$ixsG\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "Mx3s:=subs(x3=x3s[ixs],Mx3):\n`Mx3s = `, ),spy(Mx3 s)>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%(Mx3s~=~G-%'RTABLEG6%\"*o2:(R -%'MATRIXG6#7/7.*&)%#x4G\"\"$\"\"\")%#x5G\"\"#F1*&F3F1F.F1*$F.F1*&)F/F 4F1F2F1*&F3F1F8F1*$F8F1*&F/F1F2F1*&F/F1F3F1F/*$F2F1F3F17.%\"*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%'Matri xG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 129 "Notice that the matrix has numerical dimension 11. The last singular value is much smaller \ntha n the last but one singular value." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "sv,V:= SingularValues(Mx3s, output=['S','Vt']):\nsv/s v[1];\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*+Y)e^-%'MATR IXG6#7.7#$\"?******************************!#I7#$\"?uz\\J;(G\\Y9R&Qya* *F.7#$\"?V\\J!zpI?D;%p!eJ2'F.7#$\"?LU5,lPF3-&4?>N1'F.7#$\"?wc\")f#eW)H*4%F.7#$\"?yXk1BN'R&*H=/cX?\"!#N7#$\"?=y ](H;EaR&>S[Z(>\"FA7#$\"?.U@/Kf;%GiA$ozr:!#O7#$\"??Ra#\\26*zb/RZig6FH7# $\"?Tcmh[2V'3*or9p[U!#P7#$\"?j`&)oH3HH`b>(Q>p#!#`&%'VectorG6#%'columnG " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 119 "Therefore, the approximate s olution of Mx3 X = 0 is the singular vector corresponding the the sma llest singular value." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 85 "my ys := Transpose(V[12..12,1..12])/V[12,12]:\nNorm(Transpose(Mx3s.(myys/ myys[12,1])));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"-8,()3\\7!#J" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "myys[12,1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?******************************!#I" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "We see Mx3s maps myys very close to the z ero vector." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "By comparing" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "<|>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*?ADY\"-%'MATRIXG6#7.7$*&)%#x4G\" \"$\"\"\")%#x5G\"\"#F0$!?g%y0<*Q\"*\\\\2tQ,!4'!#M7$*&F2F0F-F0$\"?;jqgv #otuT(3%f-Z\"!#L7$*$F-F0$!?@F$)Qo(z%)>\"z/-_\\NF;7$*&)F.F3F0F1F0$\"?wV U>q+JSNHtJD,')F;7$*&F2F0FBF0$!?wRc_x]>!*pV1i_w?!#K7$*$FBF0$\"?[y&f:ux1 L.-txJ,&FI7$*&F.F0F1F0$!?orj;1$y2Pe.6,[@\"!#J7$*&F.F0F2F0$\"?]z.Pk;utI @;$*yKHFR7$F.$!?FTRlU\">o^%yU(z.3(FR7$*$F1F0$\"?@`b?'p/&4tBc8UTFhn7$F0$\"?******************************Fhn%'Mat rixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "we see that " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "x4s:=myys[9,1]/myys[12,1];\nx5s:=my ys[11,1]/myys[12,1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$x4sG$!?GTRl U\">o^%yU(z.3(!#J" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$x5sG$!?>@`b?'p /&4tBc8UT!#I" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "Compute sines and cosines from x3s, x3s and x5s:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 279 "s3s := subs(x3=x3s[ixs],evalf((2*x3)/(1+x3^2)));\nc3 s := subs(x3=x3s[ixs],evalf((1-x3^2)/(1+x3^2)));\ns4s := subs(x4=x4s,e valf((2*x4)/(1+x4^2)));\nc4s := subs(x4=x4s,evalf((1-x4^2)/(1+x4^2))); \ns5s := subs(x5=x5s,evalf((2*x5)/(1+x5^2)));\nc5s := subs(x5=x5s,eval f((1-x5^2)/(1+x5^2)));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$s3sG$!?yJ xs^H)ya[;())*o[#!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$c3sG$\"?V8y) ew%>6jG6;$eo*!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$s4sG$!?UJd'RhBj #eP>B,49!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$c4sG$\"?7V!Q%3Nrvb;x lB+**!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$s5sG$!?O5m5-=Ava'=\"y1r q!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$c5sG$\"?tJ1y9iEva'=\"y1rq!# I" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 31 "Check trigonometric identiti es:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "[c3s^2+s3s^2-1,c4s^2 +s4s^2-1,c5s^2+s5s^2-1];\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%$!\"%! #I$!\"#F&$!\"\"F&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "Check the so lutions" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 122 "[s3s,c3s]-evalf (subs(Position,[s3,c3]));\n[s4s,c4s]-evalf(subs(Position,[s4,c4]));\n[ s5s,c5s]-evalf(subs(Position,[s5,c5]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$!,sr-*)G&!#I$!,ATfzN\"F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7 $$\"/:uaUR!)G!#I$\".Ky33%*4%F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$ \".p5qL1A#!#I$\".o5qL1A#F&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "Sto re the solution in a form convenient for subst" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 50 "S345:=\{s3=s3s,c3=c3s,s4=s4s,c4=c4s,s5=s5s,c5= c5s\}:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 88 "Substitute to the origi nal equations \n\n[A8] p = [S8 V^T] q \n\nq = V inv(S8) A8 p\n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "qs:=Transpose(Vt).Diago nalMatrix(map(s->1/s,S[1..8])).subs(S345,A8.p):" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 26 "`=`,` `,;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%(=G%'~~~~~~G-%'RTABLEG6%\"*W#\\8N-%'MATRIXG6 #7*7$*&%#s1G\"\"\"%#s2GF0$\"?Rt8Jg$o9P7/reh5\"!#I7$*&F/F0%#c2GF0$\"?Q( ))ob\"en,rLL7,%)pF47$*&%#c1GF0F1F0$\"?QJ<&yA\"prBT5(eh5\"F47$*&F#e4)3BS]YMk:F47$F7$\"?j=`O2P^x8&fS$)o()*F4% 'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 72 "By comparison, se wee that we get the solutions for s1, c1 and s2, c2 as" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "s1s:=qs[5,1];\nc1s:=qs[6,1];\ns2s:=qs[7,1 ];\nc2s:=qs[8,1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$s1sG$\"?&\\4rs l+^Zl=\"y1rq!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$c1sG$\"?(\\;\"\\ %Qy`Zl=\"y1rq!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$s2sG$\"?3yZ>#e4 )3BS]YMk:!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$c2sG$\"?j=`O2P^x8&f S$)o()*!#I" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 26 "which are correct a s shows" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 81 "[s1s,c1s]-evalf( subs(Position,[s1,c1]));\n[s2s,c2s]-evalf(subs(Position,[s2,c2]));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$$!/5ED<^L9!#I$\"/#RaZgPM\"F&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$$\"/T$eT6[>\"!#I$\"/qTG'p!=DF&" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "Store the solutions" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "S12:=\{s1=s1s,c1=c1s,s2=s2s,c2=c2s \}:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 142 "Finally, let's get the so lution to s6, c6. Let's returm to the original, matrix equation \nand \+ let's take the two left columns of the matrices:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 211 "e61:=dhSimpl((<<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..3,1..2],2):\ne62 :=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,1..2],2):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "S ubstitute the known solutions" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 97 "e61v:=subs(S12,subs(S345,evalf(subs(MPh,e61))));\ne62v:=subs(S12 ,subs(S345,evalf(subs(MPh,e62))));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%%e61vG-%'RTABLEG6%\"*))HbT&-%'MATRIXG6#7%7$$\"?WVHXc?)**Gz1)ot3]!#I$ \"?/MF`8U2D-:]=9$H*!#J7$$\"?J8y.pC-'o0M[EUd)F0$\"?G**3Y].=*)4D1kgS#)F3 7$$\"?#=E0Wl#>-%=&eP=\"=\"F0$!?Jn=r#*[cY\\__^cA**F0%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%e62vG-%'RTABLEG6%\"*K[CJ&-%'MATRIXG6#7%7$ ,&*&$\"?uyT\"4q]]>9!fH-rD!#I\"\"\"%#s6GF3!\"\"*&$\"?KK$Qh.&>#['\\`-$yR %F2F3%#c6GF3F3,&*&$\"?uyT\"4q]]>9!fH-rDF2F3F9F3F3*&F7F3F4F3F37$,&*&$\" ?/s#*QI$p\"yIL>U=)y(F2F3F9F3F3*&$\"?F;KdvlR&> " 0 "" {MPLTEXT 1 0 47 "e6:=conv ert(map(p->sort(p),e62v-e61v),Vector);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e6G-%'RTABLEG6%\"*G!)[X\"-%'MATRIXG6#7(7#,(*&$\"?KK$Qh.&>#[' \\`-$yR%!#I\"\"\"%#c6GF3F3*&$\"?uyT\"4q]]>9!fH-rDF2F3%#s6GF3!\"\"$\"?W VHXc?)**Gz1)ot3]F2F97#,(*&$\"?/s#*QI$p\"yIL>U=)y(F2F3F4F3F3*&$\"?F;Kdv lR&>-%=&eP=\"=\"F2F 97#,(*&$\"?uyT\"4q]]>9!fH-rDF2F3F4F3F3*&F0F3F8F3F3$\"?/MF`8U2D-:]=9$H* !#JF97#,(*&$\"?F;KdvlR&> " 0 "" {MPLTEXT 1 0 70 "t6:=[c6,s6,1]:\nM6:=PolyCoeffMatrix(M2L(e6),t6):\n),M6>;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\" *%e+`9-%'MATRIXG6#7)7%%#c6G%#s6G\"\"\"7%$\"?KK$Qh.&>#['\\`-$yR%!#I$!?u yT\"4q]]>9!fH-rDF2$!?WVHXc?)**Gz1)ot3]F27%$\"?/s#*QI$p\"yIL>U=)y(F2$!? F;KdvlR&>-%=&eP=\"=\"F27%$\"?uyT\"4q]]>9!fH-rDF2F0$!? /MF`8U2D-:]=9$H*!#J7%$\"?F;KdvlR&> " 0 "" {MPLTEXT 1 0 82 "cs6s:=MatrixInverse (-M6[1..2,1..2]).M6[1..2,3..3]:\nc6s:=cs6s[1,1];\ns6s:=cs6s[2,1];" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%$c6sG$\">VQ;I7mEDU&*o2)3%*!#H" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%$s6sG$!>`Ozg^Au\"HX-#ztQ$!#H" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "and compare them with the ground t ruth" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "[s6s,c6s]-evalf(sub s(Position,[s6,c6]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$!0j:eB$H5O !#I$!0n1y;=r0#F&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Store the sol ution" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "S6:=\{s6=cs6s[2,1] ,c6=cs6s[1,1]\};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#S6G<$/%#s6G$!>` Ozg^Au\"HX-#ztQ$!#H/%#c6G$\">VQ;I7mEDU&*o2)3%*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{PARA 3 "" 0 "" {TEXT -1 0 "" }}}{MARK "4 4 8 0 0" 80 }{VIEWOPTS 1 1 0 3 4 1802 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }{RTABLE_HANDLES 146219660 146237324 146241028 146256884 146259724 146274284 146741180 147369392 147126540 152300100 147431724 147353532 153607564 153825436 153825484 154026720 145369988 151368924 147370568 151632296 147472412 147447404 146587392 153173704 153765652 153112512 151429768 155226292 147778388 153307460 145926568 144754196 156053560 541693660 152040620 155689152 157660700 518122920 155254748 529394644 151331684 517232216 146948792 154138552 397150768 515884600 146252220 351349244 541552988 531244832 145488028 145300584 }{RTABLE M7R0 I6RTABLE_SAVE/146219660X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c3G%#s3G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d3GF,F& } {RTABLE M7R0 I6RTABLE_SAVE/146237324X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda3G%$ mu3GF(F(,$F*!""F)F(%#a3GF(F(F'F& } {RTABLE M7R0 I6RTABLE_SAVE/146241028X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c4G%#s4G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d4GF,F& } {RTABLE M7R0 I6RTABLE_SAVE/146256884X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda4G%$ mu4GF(F(,$F*!""F)F(%#a4GF(F(F'F& } {RTABLE M7R0 I6RTABLE_SAVE/146259724X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c5G%#s5G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d5GF,F& } {RTABLE M7R0 I6RTABLE_SAVE/146274284X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda5G%$ mu5GF(F(,$F*!""F)F(%#a5GF(F(F'F& } {RTABLE M7R0 I6RTABLE_SAVE/146741180X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda2G,$ %$mu2G!""F(F(F+F)F(,$%#a2GF,F(F(F'F& } {RTABLE M7R0 I6RTABLE_SAVE/147369392X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c2G,$%#s2G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d2GF*F,F& } {RTABLE M7R0 I6RTABLE_SAVE/147126540X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda1G,$ %$mu1G!""F(F(F+F)F(,$%#a1GF,F(F(F'F& } {RTABLE M7R0 I6RTABLE_SAVE/152300100X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c1G,$%#s1G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d1GF*F,F& } {RTABLE M7R0 I6RTABLE_SAVE/147431724X,%)anythingG6"6"[gl!"%!!!#1"%"%%#lxG%#lyG%#lzG""!%#mxG% #myG%#mzGF*%#nxG%#nyG%#nzGF*%#rxG%#ryG%#rzG"""F& } {RTABLE M7R0 I6RTABLE_SAVE/147353532X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda6G,$ %$mu6G!""F(F(F+F)F(,$%#a6GF,F(F(F'F& } {RTABLE M7R0 I6RTABLE_SAVE/153607564X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c6G,$%#s6G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d6GF*F,F& } {RTABLE M7R0 I6RTABLE_SAVE/153825436X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""F& } {RTABLE M7R0 I6RTABLE_SAVE/153825484X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(F& } {RTABLE M7R0 I6RTABLE_SAVE/154026720X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda2G%$ mu2GF(F(,$F*!""F)F(%#a2GF(F(F'F& } {RTABLE M7R0 I6RTABLE_SAVE/145369988X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""F& } {RTABLE M7R0 I6RTABLE_SAVE/151368924X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(F& } {RTABLE M7R0 I6RTABLE_SAVE/147370568X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(F'F(F(F(F(F' F(F(F(%#d2GF'F& } {RTABLE M7R0 I6RTABLE_SAVE/151632296X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(,$%(lambda2G !""%$mu2GF(F(F,F*F(%#a2GF(%#d2GF'F& } {RTABLE M7R0 I6RTABLE_SAVE/147472412X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""F& } {RTABLE M7R0 I6RTABLE_SAVE/147447404X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c2G%#s2G""!F)F(,$F'!"" F)F)F)F)"""F)F)F)F)F,F& } {RTABLE M7R0 I6RTABLE_SAVE/146587392X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(F& } {RTABLE M7R0 I6RTABLE_SAVE/153173704X,%)anythingG6"6"[gl!"%!!!#""""",H*$%#ryG""#"""*(%#rxGF+ %#c1GF+%#a1GF+!"#*&%#rzGF+%#d1GF+F0*$%#a6GF*F+*$F-F*F+*$F3F*F+*$%#d6GF*F+*$F2F* F+*$F/F*F+*(F)F+%#s1GF+F/F+F0*&,&*(F5F+F.F+F/F+F**&F5F+F-F+F0F+%#lxGF+F+*&,&*(F 5F+F=F+F/F+F**&F5F+F)F+F0F+%#lyGF+F+*&,&*&F5F+F3F+F**&F5F+F2F+F0F+%#lzGF+F+*&,& *(F9F+%$mu6GF+F-F+F0**F9F+FPF+F.F+F/F+F*F+%#mxGF+F+*&,&**F9F+FPF+F=F+F/F+F**(F9 F+FPF+F)F+F0F+%#myGF+F+*&,&*(F9F+FPF+F2F+F0*(F9F+FPF+F3F+F*F+%#mzGF+F+*&,&**F9F +%(lambda6GF+F.F+F/F+F**(F9F+FjnF+F-F+F0F+%#nxGF+F+*&,&*(F9F+FjnF+F)F+F0**F9F+F jnF+F=F+F/F+F*F+%#nyGF+F+*&,&*(F9F+FjnF+F2F+F0*(F9F+FjnF+F3F+F*F+%#nzGF+F+F& } {RTABLE M7R0 I6RTABLE_SAVE/153765652X,%)anythingG6"6"[gl!"%!!!#""""",do*(%#c3G"""%#a3GF*%#a2 GF*""#*(%#d2GF*%(lambda2GF*%#d3GF*F-*$%#d4GF-F***%#s3GF*%$mu3GF*F3F*F,F*F-**%#a 4GF*F)F*%#c4GF*F,F*F-*$F+F-F**$F,F-F**$%#a5GF-F**0F/F*%$mu2GF*%#d5GF*%$mu4GF*F9 F*F)F*%(lambda3GF*!"#*.F@F*FAF*F5F*FBF*F9F*F,F*F-**F/F*F?F*F5F*F+F*F-**F/F*F0F* F3F*FBF*F-*(F3F*F@F*%(lambda4GF*F-*,F8F*F5F*FBF*%#s4GF*F,F*FC*,F@F*F5F*F6F*FHF* F,F*F-*,F@F*FAF*F)F*FJF*F,F*F-*,F/F*F0F*F8F*FJF*F6F*F-*,F/F*F0F*F@F*FHF*FBF*F-* ,F/F*F?F*F3F*F)F*F6F*FC*,F/F*F?F*F8F*F5F*F9F*F-*$F8F-F**,F1F*F@F*FAF*F9F*F6F*FC **F1F*F8F*FJF*F6F*F-**F@F*FHF*FBF*F1F*F-*(F8F*F9F*F+F*F-*$F@F-F**$F1F-F**&,2*,F /F*F?F*F=F*F5F*F9F*F-**F=F*FJF*F6F*F1F*F-**F=F*F)F*F9F*F,F*F-*.F/F*F?F*F=F*FJF* F)F*FBF*F-*&F=F*F8F*F-*,F/F*F0F*F=F*FJF*F6F*F-*,F=F*F5F*FBF*FJF*F,F*FC*(F=F*F9F *F+F*F-F*%#c5GF*F**&,:*0F/F*F?F*F=F*FHF*F9F*F)F*FBF*F-*.F=F*FHF*F5F*FBF*F9F*F,F *FC*,F=F*FHF*F)F*FJF*F,F*FC**F=F*FHF*FJF*F+F*FC*,F/F*F0F*F=F*FAF*FBF*F-*(F3F*F= F*FAF*F-**F1F*F=F*FAF*FBF*F-*.F/F*F?F*F=F*FAF*F)F*F6F*FC*.F/F*F?F*F=F*FHF*F5F*F JF*FC*,F=F*FHF*F9F*F6F*F1F*F-*,F=F*F5F*F6F*FAF*F,F*F-*.F/F*F0F*F=F*FHF*F9F*F6F* F-F*%#s5GF*F**.F/F*F0F*F@F*FAF*F9F*F6F*FC*.F/F*F?F*F@F*FAF*F5F*FJF*F-*.F/F*F?F* F@F*FHF*F)F*F6F*FC*.F/F*F?F*F8F*FJF*F)F*FBF*F-**F@F*FAF*FJF*F+F*F-*(F3F*FBF*F1F *F-*$F/F-F*F& } {RTABLE M7R0 I6RTABLE_SAVE/153112512X,%)anythingG6"6"[gl!"%!!!#/"""/""!F'F'F'F'F'F'F'F'F'F'F 'F'F'F& } {RTABLE M7R0 I6RTABLE_SAVE/151429768X,%)anythingG6"6"[gl!"%!!!#/"""/""!F'F'F'F'F'F'F'F'F'F'F 'F'F'F& } {RTABLE M7R0 I6RTABLE_SAVE/155226292X,%)anythingG6"6"[gl!"%!!!#/"""/""!F'F'F'F'F'F'F'F'F'F'F 'F'F'F& } {RTABLE M7R0 I6RTABLE_SAVE/147778388X,%)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+F& } {RTABLE M7R0 I6RTABLE_SAVE/153307460X,%)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,F& } {RTABLE M7R0 I6RTABLE_SAVE/145926568X,%)anythingG6"6"[gl!"%!!!#'"""',$%#PiG#"""""%,$F(#F*"#? ,$F(#!"#"#D,$F(#!"*"$+#,$F(#!""F+,$F(#!#6"$+"F& } {RTABLE M7R0 I6RTABLE_SAVE/144754196X*%'sfloatG6"6"[gl!#%!!!"/"/$"?YYe7@It!Gc'=&4[y$!#C$"?WY e7@It!Gc'=&4[y$F)$"?g]&y&e!\<\65`cvN$)!#D$"?g%*4Q*QZ`@$zY_ ^g'*!#G$"?5I4Q*QZ`@$zY_^g'*F3$"?)H\x#4fQ)Ggt#=PVfF3$"?g\uF4fQ)Ggt#=PVfF3$""!F;F :F:F:F:F:F& } {RTABLE M7R0 I6RTABLE_SAVE/156053560X*%'sfloatG6"6"[gl!#%!!!")")$"?YYe7@It!Gc'=&4[y$!#C$"?WY e7@It!Gc'=&4[y$F)$"?g]&y&e!\<\65`cvN$)!#D$"?g%*4Q*QZ`@$zY_ ^g'*!#G$"?5I4Q*QZ`@$zY_^g'*F3$"?)H\x#4fQ)Ggt#=PVfF3$"?g\uF4fQ)Ggt#=PVfF3F& } {RTABLE M7R0 I6RTABLE_SAVE/541693660X,%)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+F& } {RTABLE M7R0 I6RTABLE_SAVE/152040620X*%)anythingG6"6"[gl!#%!!!"'"',(%#c3G$!?FQd(p&\]!o:`&F+""",(F($"?#Q]R%\*Q>N/^maWM) !#HF,$!?%z)[1!\jt1'>nL5XDQ'Q]]#Q3H#G!#IF,$"?y[ .Y$>_H=@J">@'o)FD$!?70.m99%*f:%p0hi:"F5F1,(F($"?0>Y_TDH\I_fTzLBF5F,$!?9f_*pFxG* RH$ef_(GF5$!?oh^x*y&=c]*zjq7%RF5F1,(F($"?#\3UMk\MWO+tdXQ%F+F,$!?"[6'z8Z#QMJRWp@ Q"!#F$"?4F*F/F**&F>F*F:F*F& } {RTABLE M7R0 I6RTABLE_SAVE/518122920X,%)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+F& } {RTABLE M7R0 I6RTABLE_SAVE/155254748X,%)anythingG6"6"[gl!"%!!!#-"""-$""!F(F'F'F'F'F'F(F(F(F( F(F(F& } {RTABLE M7R0 I6RTABLE_SAVE/529394644X,%)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,F& } {RTABLE M7R0 I6RTABLE_SAVE/151331684X,%)anythingG6"6"[gl!"%!!!#-"""-$""!F(F'F'F'F'F'F(F(F(F( F(F(F& } {RTABLE M7R0 I6RTABLE_SAVE/517232216X*-%(complexG6#%'sfloatG6"6"[gl"#%!!!"9"9$"?!z&f2rQd%\&e tl2!)f!#I$"?*>-#=m(GEfu87G&f*)F,$"?.ef2rQd%\&etl2!)fF,$!?*>-#=m(GEfu87G&f*)F,$" ?!\Bo>.lZvZ)eu%Q^&F,$"?S(*fH"pZdVBP!=xB))F,$"?([Bo>.lZvZ)eu%Q^&F,$!?P(*fH"pZdVB P!=xB))F,$"?S/\$G\K&G)ovm"4)Q$!#O$"?V!)o#G%zB%)4"Q_+++"!#H$"?2X%QG\K&G)ovm"4)Q$ F=$!?T!)o#G%zB%)4"Q_+++"F@$"?kHPv#)yNiBg))\7Q_F=$"?%*fF:P3>h'******F,$"?%)p Ks#)yNiBg))\7Q_F=$!?-gF:P3>h'******F,$!?Ri-T6.sI(3>))4"Q_F=$"?Gi"f$eCQ"o5)Q .++5F@$!?jn/T6.sI(3>))4"Q_F=$!?Gi"f$eCQ"o5)Q.++5F@$!?N0QkF=o]%\H=F@$"?M6tp?GP. Enn/k3gFapFdp$!?N6tp?GP.Enn/k3gFap$!?)yf*)oV[!*\rb4]&e@F@Fin$!?*34h2aAkClS-%=e@ F@FinF) } {RTABLE M7R0 I6RTABLE_SAVE/146948792X*%)anythingG6"6"[gl!#%!!!"%"%#!0,n9^f-;#"1=#o'o+,.<#!0f "p2:w65"09_$3q"*3!)#!0d??Tpd%R"0\'>G@(z#=#!1r9nE3KG="0Yg6jG6;$eo*F*7$$!?iD$G '3"RtK3W,x#GwF*$!?kAJQr:Skp\y!=gY'F*7$$!?mC=0\%yw"GrpN6HwF*$!?ZV%\WB\deLR-J]Y'F *F& } {RTABLE M7R0 I6RTABLE_SAVE/397150768X,%)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,F& } {RTABLE M7R0 I6RTABLE_SAVE/515884600X*%'sfloatG6"6"[gl!#%!!!"-"-$"?************************* *****!#I$"?uz\J;(G\Y9R&Qya**F)$"?V\J!zpI?D;%p!eJ2'F)$"?LU5,lPF3-&4?>N1'F)$"?wc" )f#eW)H*4%F)$"?yXk1BN'R&*H=/cX?"!#N$"?=y](H;EaR&>S[Z (>"F6$"?.U@/Kf;%GiA$ozr:!#O$"??Ra#\26*zb/RZig6F;$"?Tcmh[2V'3*or9p[U!#P$"?j`&)oH 3HH`b>(Q>p#!#`F& } {RTABLE M7R0 I6RTABLE_SAVE/146252220X,%)anythingG6"6"[gl!"%!!!#9"-"#*&%#x4G""$%#x5G""#*&F*"" "F(F)*$F(F)*&F(F+F*F+*&F*F-F(F+*$F(F+*&F(F-F*F+*&F(F-F*F-F(*$F*F+F*F-$!?g%y0<*Q "*\\2tQ,!4'!#M$"?;jqgv#otuT(3%f-Z"!#L$!?@F$)Qo(z%)>"z/-_\NF:$"?wVU>q+JSNHtJD,') F:$!?wRc_x]>!*pV1i_w?!#K$"?[y&f:ux1L.-txJ,&FA$!?orj;1$y2Pe.6,[@"!#J$"?]z.Pk;utI @;$*yKHFF$!?FTRlU">o^%yU(z.3(FF$"?@`b?'p/&4tBc8UTFM$"?** ****************************FMF& } {RTABLE M7R0 I6RTABLE_SAVE/351349244X,%)anythingG6"6"[gl!"%!!!#1")"#*&%#s1G"""%#s2GF)*&F(F)% #c2GF)*&%#c1GF)F*F)*&F.F)F,F)F(F.F*F,$"?Rt8Jg$o9P7/reh5"!#I$"?Q())ob"en,rLL7,%) pF2$"?QJ<&yA"prBT5(eh5"F2$"?=\s@")ou.rLL7,%)pF2$"?&\4rsl+^Zl="y1rqF2$"?(\;"\%Qy `Zl="y1rqF2$"?3yZ>#e4)3BS]YMk:F2$"?j=`O2P^x8&fS$)o()*F2F& } {RTABLE M7R0 I6RTABLE_SAVE/541552988X,%)anythingG6"6"[gl!"%!!!#'"$"#$"?WVHXc?)**Gz1)ot3]!#I$ "?J8y.pC-'o0M[EUd)F)$"?#=E0Wl#>-%=&eP="="F)$"?/MF`8U2D-:]=9$H*!#J$"?G**3Y].=*)4 D1kgS#)F0$!?Jn=r#*[cY\__^cA**F)F& } {RTABLE M7R0 I6RTABLE_SAVE/531244832X,%)anythingG6"6"[gl!"%!!!#'"$"#,&%#s6G$!?uyT"4q]]>9!fH- rD!#I%#c6G$"?KK$Qh.&>#['\`-$yR%F+,&F,$"?/s#*QI$p"yIL>U=)y(F+F($!?F;KdvlR&>9!fH-rDF+F( F-,&F(F0F,$"?F;KdvlR&>#['\`-$y R%!#I%#s6G$!?uyT"4q]]>9!fH-rDF+$!?WVHXc?)**Gz1)ot3]F+""",(F($"?/s#*QI$p"yIL>U=) y(F+F,$!?F;KdvlR&>-%=&eP="="F+F1,(F($"?uyT"4q]]>9!fH-rDF+F,F)$!?/MF `8U2D-:]=9$H*!#JF1,(F($"?F;KdvlR&>#['\`-$y R%!#I$"?/s#*QI$p"yIL>U=)y(F*$"?]bb9f/dRdDm@]sWF*$"?uyT"4q]]>9!fH-rDF*$"?F;KdvlR &>9!fH-rDF*$!?F;KdvlR&>-%=&eP="="F*$!?/MF`8U2D-:]=9$H*!#J$!?G**3Y].=*)4D1kgS#)FE$"?Jn=r#*[cY\__ ^cA**F*F& }