{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 57 "T.Pajdla: Inverse Kinemat ics of a 6-DOF Manipulator - 1 \n" }}{PARA 0 "" 0 "" {TEXT -1 153 "[1] D.Manocha, J.F.Canny. Efficient Inverse Kinematics for General 6R Man ipulators. IEEE Trans. on Robotics and Automation, 10(5), pp. 648-657, Oct. 2004" }}{PARA 0 "" 0 "" {TEXT -1 148 "[2] M. Raghavan, B. Roth. \+ Kinematic Analysis of the 6R Manipulator of General Geometry. Int. Sy mposium 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 11 "10 Dec 2007" }}}{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(LinearAlgebra):\nwith(PolynomialTools):\nwith(combinat, choose) :\nwith(Groebner):\nwith(MatrixPolynomialAlgebra):\ninterface(rtablesi ze=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 transforma tin 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)\nloc al 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-conve ntion for one-aprametric DH rigid motion transformations\ndhInvs := pr oc(M)\n local M1, M2;\n M1 := M[1];\n M2 := M[2];\n [simplify( MatrixInverse(M2),\{M2[3,2]^2+M2[3,3]^2=1\}),\n simplify(MatrixInve rse(M1),\{M1[1,1]^2+M1[2,1]^2=1\})];\nend proc:\n#\n# Rigid motion tra nsformatin in DH-convention(phi, theta, a,d) indexed by i\n# c = cos(p hi), s = sin(phi), P = cos(alpha), R = sin(alpha)\ndhT := proc(i)\nloc al M;\n M:=dhTs(i);\n M[1].M[2];\nend proc:\n#\n# Inverse of the D H-convention rigid motion transformation\ndhInv := proc(M)\n simplif y(MatrixInverse(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 & lambd a^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 Kinematic Task\n#\ndhDKT := proc(p)\n subs(p,dhT(1).dhT(2).dhT(3).d hT(4).dhT(5).dhT(6)); \nend proc:\n#\n# Simplify using Rotation matr in in Mh\nMhSimpl := 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+n y^2+nz^2=1\}),\n \{lx*mx+ly*my+lz*mz=0,lx*nx+ly*ny+lz*nz=0,m x*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 using 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 rot ation matrix identities in rows\nrrSimp := proc(M,R)\n simplify( \n simplify(\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 represent ation of a set of polynomials \nPolyCoeffMatrix:=proc(S,m,Ord::\{Short TermOrder, 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 fro m 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 M atrix(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);\nend proc:\n#\n## n x 1 matrix to a list conversion\n#\nM2L:=pr oc(M) \n\011convert(convert(M,Vector),list);\nend proc:\n#\n## Highlit non-zero entries\n#\nspy:=proc(A)\n map(x->`if`(simplify(x)=0,0, `i f`(simplify(x)=1,1,`*`)) ,A):\nend proc:\n#\n# Monomials of a set of p olynomial in all indeterminates\n#\nPolyMonomials:=proc(S::list(ratpol y),Ord::\{ShortTermOrder, TermOrder\}) # Monomials of a set of polynom ials\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:=Ma keUnique(m);\n sort(m,(t1,t2)->testorder(t2,t1,Ord));\nend proc :\n#\n## Monomias of a set of polynomials in given indeterminates\n#\n PolyVarsMonomials:=proc(S::list(ratpoly),Ord::\{ShortTermOrder, TermOr der\}) # 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 fr om 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 parameters 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 Manipulator of General Geometry. \n Int. Symposium on Roboti c 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) M 3 * 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%\"* kc!p9-%'MATRIXG6#7&7&%#c3G,$%#s3G!\"\"\"\"!F07&F.F,F0F07&F0F0\"\"\"%#d 3G7&F0F0F0F3%'MatrixG-F$6%\"*!)*4p9-F(6#7&7&F3F0F0%#a3G7&F0%(lambda3G, $%$mu3GF/F07&F0FBF@F0F5F6-F$6%\"*gg\"p9-F(6#7&7&%#c4G,$%#s4GF/F0F07&FM FKF0F07&F0F0F3%#d4GF5F6-F$6%\"*C,#p9-F(6#7&7&F3F0F0%#a4G7&F0%(lambda4G ,$%$mu4GF/F07&F0FfnFZF0F5F6-F$6%\"*O[#p9-F(6#7&7&%#c5G,$%#s5GF/F0F07&F aoF_oF0F07&F0F0F3%#d5GF5F6-F$6%\"*3j#p9-F(6#7&7&F3F0F0%#a5G7&F0%(lambd a5G,$%$mu5GF/F07&F0F`pF^pF0F5F6Q\"=6\"-F$6%\"*w!Hp9-F(6#7&7&F3F0F0,$%# a2GF/7&F0%(lambda2G%$mu2GF07&F0,$F_qF/F^qF0F5F6-F$6%\"*%GLp9-F(6#7&7&% #c2G%#s2GF0F07&,$FjqF/FiqF0F07&F0F0F3,$%#d2GF/F5F6-F$6%\"*_g$p9-F(6#7& 7&F3F0F0,$%#a1GF/7&F0%(lambda1G%$mu1GF07&F0,$F[sF/FjrF0F5F6-F$6%\"*70% p9-F(6#7&7&%#c1G%#s1GF0F07&,$FfsF/FesF0F07&F0F0F3,$%#d1GF/F5F6-F$6%\"* G@%p9-F(6#7&7&%#lxG%#mxG%#nxG%#rxG7&%#lyG%#myG%#nyG%#ryG7&%#lzG%#mzG%# nzG%#rzGF5F6-F$6%\"*Kw%p9-F(6#7&7&F3F0F0,$%#a6GF/7&F0%(lambda6G%$mu6GF 07&F0,$F\\vF/F[vF0F5F6-F$6%\"*w\"\\p9-F(6#7&7&%#c6G%#s6GF0F07&,$FgvF/F fvF0F07&F0F0F3,$%#d6GF/F5F6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 177 "N otice that the the two last 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 liminate c6, s6." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "M31,M32,M41,M42,M51,M52[1..4,3..4],\"=\",iM22,iM21,iM 12,iM11,Mh,iM62,iM61[1..4,3..4];" }}{PARA 12 "" 1 "" {XPPMATH 20 "60-% 'RTABLEG6%\"*kc!p9-%'MATRIXG6#7&7&%#c3G,$%#s3G!\"\"\"\"!F07&F.F,F0F07& F0F0\"\"\"%#d3G7&F0F0F0F3%'MatrixG-F$6%\"*!)*4p9-F(6#7&7&F3F0F0%#a3G7& F0%(lambda3G,$%$mu3GF/F07&F0FBF@F0F5F6-F$6%\"*gg\"p9-F(6#7&7&%#c4G,$%# s4GF/F0F07&FMFKF0F07&F0F0F3%#d4GF5F6-F$6%\"*C,#p9-F(6#7&7&F3F0F0%#a4G7 &F0%(lambda4G,$%$mu4GF/F07&F0FfnFZF0F5F6-F$6%\"*O[#p9-F(6#7&7&%#c5G,$% #s5GF/F0F07&FaoF_oF0F07&F0F0F3%#d5GF5F6-F$6%\"*)3_p9-F(6#7&7$F0%#a5G7$ ,$%$mu5GF/F07$%(lambda5GF07$F0F3F6Q\"=6\"-F$6%\"*w!Hp9-F(6#7&7&F3F0F0, $%#a2GF/7&F0%(lambda2G%$mu2GF07&F0,$F`qF/F_qF0F5F6-F$6%\"*%GLp9-F(6#7& 7&%#c2G%#s2GF0F07&,$F[rF/FjqF0F07&F0F0F3,$%#d2GF/F5F6-F$6%\"*_g$p9-F(6 #7&7&F3F0F0,$%#a1GF/7&F0%(lambda1G%$mu1GF07&F0,$F\\sF/F[sF0F5F6-F$6%\" *70%p9-F(6#7&7&%#c1G%#s1GF0F07&,$FgsF/FfsF0F07&F0F0F3,$%#d1GF/F5F6-F$6 %\"*G@%p9-F(6#7&7&%#lxG%#mxG%#nxG%#rxG7&%#lyG%#myG%#nyG%#ryG7&%#lzG%#m zG%#nzG%#rzGF5F6-F$6%\"*Kw%p9-F(6#7&7&F3F0F0,$%#a6GF/7&F0%(lambda6G%$m u6GF07&F0,$F]vF/F\\vF0F5F6-F$6%\"*%[`p9-F(6#7&7$F0F0Ffv7$F3,$%#d6GF/Fb pF6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 66 "Do two following manipulat ions 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%\"*wh&p9-%'MATRIXG6#7&7&\"\"\"\"\"! F-%#a2G7&F-%(lambda2G,$%$mu2G!\"\"F-7&F-F2F0F-7&F-F-F-F,%'MatrixG-F$6% \"*kc!p9-F(6#7&7&%#c3G,$%#s3GF3F-F-7&F@F>F-F-7&F-F-F,%#d3GF5F6-F$6%\"* !)*4p9-F(6#7&7&F,F-F-%#a3G7&F-%(lambda3G,$%$mu3GF3F-7&F-FOFMF-F5F6-F$6 %\"*gg\"p9-F(6#7&7&%#c4G,$%#s4GF3F-F-7&FZFXF-F-7&F-F-F,%#d4GF5F6-F$6% \"*C,#p9-F(6#7&7&F,F-F-%#a4G7&F-%(lambda4G,$%$mu4GF3F-7&F-FcoFaoF-F5F6 -F$6%\"*O[#p9-F(6#7&7&%#c5G,$%#s5GF3F-F-7&F^pF\\pF-F-7&F-F-F,%#d5GF5F6 -F$6%\"*g='p9-F(6#7&7$F-%#a5G7$,$%$mu5GF3F-7$%(lambda5GF-7$F-F,F6Q\"=6 \"-F$6%\"*%GLp9-F(6#7&7&%#c2G%#s2GF-F-7&,$FjqF3FiqF-F-7&F-F-F,,$%#d2GF 3F5F6-F$6%\"*_g$p9-F(6#7&7&F,F-F-,$%#a1GF37&F-%(lambda1G%$mu1GF-7&F-,$ F[sF3FjrF-F5F6-F$6%\"*70%p9-F(6#7&7&%#c1G%#s1GF-F-7&,$FfsF3FesF-F-7&F- F-F,,$%#d1GF3F5F6-F$6%\"*G@%p9-F(6#7&7&%#lxG%#mxG%#nxG%#rxG7&%#lyG%#my G%#nyG%#ryG7&%#lzG%#mzG%#nzG%#rzGF5F6-F$6%\"*Kw%p9-F(6#7&7&F,F-F-,$%#a 6GF37&F-%(lambda6G%$mu6GF-7&F-,$F\\vF3F[vF-F5F6-F$6%\"*_X'p9-F(6#7&7$F -F-Fev7$F,,$%#d6GF3F_qF6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "2) Mu ltiply 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%\"*[f'p9-%'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%\"*;(op9-%'MATRIXG6#7 &7&\"\"\"\"\"!F-%#a2G7&F-,$%(lambda2G!\"\"%$mu2GF-7&F-F3F1%#d2G7&F-F-F -F,%'MatrixG-F$6%\"*kc!p9-F(6#7&7&%#c3G,$%#s3GF2F-F-7&FAF?F-F-7&F-F-F, %#d3GF6F7-F$6%\"*!)*4p9-F(6#7&7&F,F-F-%#a3G7&F-%(lambda3G,$%$mu3GF2F-7 &F-FPFNF-F6F7-F$6%\"*gg\"p9-F(6#7&7&%#c4G,$%#s4GF2F-F-7&FenFYF-F-7&F-F -F,%#d4GF6F7-F$6%\"*C,#p9-F(6#7&7&F,F-F-%#a4G7&F-%(lambda4G,$%$mu4GF2F -7&F-FdoFboF-F6F7-F$6%\"*O[#p9-F(6#7&7&%#c5G,$%#s5GF2F-F-7&F_pF]pF-F-7 &F-F-F,%#d5GF6F7-F$6%\"*;#pp9-F(6#7&7$F-%#a5G7$,$%$mu5GF2F-7$%(lambda5 GF-7$F-F,F7Q\"=6\"-F$6%\"*3>(p9-F(6#7&7&%#c2G%#s2GF-F-7&F[r,$FjqF2F-F- 7&F-F-F,F-F6F7-F$6%\"*_g$p9-F(6#7&7&F,F-F-,$%#a1GF27&F-%(lambda1G%$mu1 GF-7&F-,$FjrF2FirF-F6F7-F$6%\"*70%p9-F(6#7&7&%#c1G%#s1GF-F-7&,$FesF2Fd sF-F-7&F-F-F,,$%#d1GF2F6F7-F$6%\"*G@%p9-F(6#7&7&%#lxG%#mxG%#nxG%#rxG7& %#lyG%#myG%#nyG%#ryG7&%#lzG%#mzG%#nzG%#rzGF6F7-F$6%\"*Kw%p9-F(6#7&7&F, F-F-,$%#a6GF27&F-%(lambda6G%$mu6GF-7&F-,$F[vF2FjuF-F6F7-F$6%\"*/e(p9-F (6#7&7$F-F-Fdv7$F,,$%#d6GF2F`qF7" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 156 "Do the multiplications, construct the equations, and take the 6 o nes we are interested in. \nDenote the left hand side by ee1 and the r ight 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>>.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, c3, 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 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 "" {MPLTEXT 1 0 16 "expand(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&%$mu1GF&%#mzGF&F+*,F%F&%(lambda6G F&%#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&F7F&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&FD F&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&F 0F&F+F&%$mu3GF&%$mu4GF&F&**%#d5GF&F5F&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 generated by scalar and vector operation s on the columns.\n\n1) p2 . p2 = p1 . p1 ... 1 new equati on\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 equatio ns" }}{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 us ing 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(dhSimp l(dhSimpl(Transpose(p1).p1,2),1),6));\npp2:=dhSimpl(dhSimpl(dhSimpl(dh Simpl(Transpose(p2).p2,2),3),4),5);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6 #>%$pp1G-%'RTABLEG6%\"*'\\yp9-%'MATRIXG6#7#7#,H*$)%#ryG\"\"#\"\"\"F3*( F2F3%#rzGF3%#d1GF3!\"\"*$)F5F2F3F3*$)F6F2F3F3*$)%#a1GF2F3F3*$)%#d6GF2F 3F3*$)%#a6GF2F3F3*$)%#rxGF2F3F3**F2F3FGF3%#c1GF3F>F3F7**F2F3F1F3%#s1GF 3F>F3F7*&,&**F2F3FDF3FIF3F>F3F3*(F2F3FDF3FGF3F7F3%#lxGF3F3*&,&**F2F3FD F3FKF3F>F3F3*(F2F3FDF3F1F3F7F3%#lyGF3F3*&,&*(F2F3FDF3F6F3F3*(F2F3FDF3F 5F3F7F3%#lzGF3F3*&,&*,F2F3FAF3%$mu6GF3FIF3F>F3F3**F2F3FAF3FhnF3FGF3F7F 3%#mxGF3F3*&,&**F2F3FAF3FhnF3F1F3F7*,F2F3FAF3FhnF3FKF3F>F3F3F3%#myGF3F 3*&,&**F2F3FAF3FhnF3F6F3F3**F2F3FAF3FhnF3F5F3F7F3%#mzGF3F3*&,&**F2F3FA F3%(lambda6GF3FGF3F7*,F2F3FAF3FhoF3FIF3F>F3F3F3%#nxGF3F3*&,&**F2F3FAF3 FhoF3F1F3F7*,F2F3FAF3FhoF3FKF3F>F3F3F3%#nyGF3F3*&,&**F2F3FAF3FhoF3F6F3 F3**F2F3FAF3FhoF3F5F3F7F3%#nzGF3F3%'MatrixG" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$pp2G-%'RTABLEG6%\"*;F)p9-%'MATRIXG6#7#7#,do*$)%#a4G \"\"#\"\"\"F3*$)%#a5GF2F3F3*$)%#d5GF2F3F3*$)%#d4GF2F3F3**F2F3FF3F?F3F3*.F2F3F?F3F9F3%$mu4GF3%#c4GF3%$mu3GF3!\"\"*,F2F3F?F3F 1F3%#s4GF3FMF3F3**F2F3F1F3FLF3FBF3F3*.F2F3FGF3%$mu2GF3F1F3%#s3GF3FLF3F 3*0F2F3FGF3FSF3F1F3FPF3%#c3GF3F>F3F3**F2F3FF3F3*.F2F3F6F3FTF3F>F3FPF3FZF3FN*.F2F3FGF3%(lambda2GF3F6F 3FPF3FMF3F3*,F2F3F6F3FVF3FLF3FZF3F3*,F2F3F6F3FPF3FMF3F?F3F3*(F2F3F6F3F 1F3F3F3%#c5GF3F3*&,:*0F2F3FGF3FSF3F6F3FKF3FVF3FMF3FN*0F2F3FGF3F]oF3F6F 3FIF3FLF3FMF3F3**F2F3FF3F3*,F2F3F6F3FIF3FPF3FBF3FN*.F2F3F6F3FIF3FLF3FMF3F? F3F3*.F2F3F6F3FTF3FMF3FKF3FZF3F3*0F2F3FGF3FSF3F6F3FIF3FTF3FPF3FN*0F2F3 F6F3FIF3FTF3F>F3FLF3FZF3FN*,F2F3F?F3F6F3FKF3F>F3F3*2F2F3FGF3FSF3F6F3FI F3FLF3FVF3F>F3F3F3%#s5GF3F3*,F2F3F1F3FVF3FLF3FZF3F3*,F2F3FTF3FMF3FF3F3*,F2F3FGF3FSF3FTF3FBF3F3*$)FZF2F3F3**F2F 3FVF3FBF3FZF3F3**F2F3FGF3F]oF3F?F3F3*0F2F3F9F3FKF3FTF3F>F3FLF3FZF3F3*. F2F3F9F3FTF3FMF3FIF3FZF3F3*.F2F3F1F3FTF3F>F3FPF3FZF3FN*.F2F3FGF3F]oF3F 9F3FIF3F>F3F3*.F2F3FGF3F]oF3F1F3FPF3FMF3F3*0F2F3FGF3F]oF3F9F3FKF3FLF3F MF3FN*2F2F3FGF3FSF3F9F3FKF3FLF3FVF3F>F3FN*0F2F3FGF3FSF3F9F3FKF3FTF3FPF 3F3*.F2F3FGF3FSF3F " 0 "" {MPLTEXT 1 0 132 "pl1:=MhSimpl(dhSimpl(d hSimpl(dhSimpl(Transpose(p1).l1,2),1),6)):\npl2:=dhSimpl(dhSimpl(dhSim pl(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(convert(p2,Vector),conve rt(l2,Vector)),Matrix)):\nm1x:=map(x->expand(x),MhSimpl(dhSimpl(dhSimp l(dhSimpl(pxl1,2),1),6))):\nm2x:=map(x->expand(x),dhSimpl(dhSimpl(dhSi mpl(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,pp1[1,1]) - ScalarMulti ply(p1,2*pl1[1,1])):\nplpl2:=map(x->expand(x),ScalarMultiply(l2,pp2[1, 1]) - ScalarMultiply(p2,2*pl2[1,1])):\nmp1:=MhSimpl(dhSimpl(dhSimpl(dh Simpl(simplify(plpl1),2),1),6)):\nmp2:=dhSimpl(dhSimpl(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 u s look at c3, s3 as on parameters and consider the monomials of the 8 \+ remaining \nunknowns s1,c1,s2,c2,s4,c4,s5,c5 in 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 side, there are the follo wing monomials in s4,c4,s5,c5: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "t2:=<>:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "Construct the linear representation in th e above monomials:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 117 "M1:= PolyCoeffMatrix(M2L(E1),M2L(t1),plex(op(indets(t1)))):\nM2:=PolyCoeffM atrix(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(simplify(E2-M2.t2));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*Ku)p9-%'MATRIXG6#7#70\" \"!F,F,F,F,F,F,F,F,F,F,F,F,F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*/W*p9-%'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 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 p p, qq. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "p:= t2:\nq:= :" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "We have 14 equation s in 17 monomials of 10 unknowns constructed form 5 angles: " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "Dimensions(P),`...`,Dimensio ns(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 "C heck 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% \"*oe*p9-%'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%\"*'*3+Z\"-%'MATRIXG6# 717+*&%#s4G\"\"\"%#s5GF.*&F-F.%#c5GF.*&%#c4GF.F/F.*&F3F.F1F.F-F3F/F1F. 7+%\"*GF6F6F6F6F6F6\"\"!F6F5F57+F6F6F6F6F6F6F7F6F6F8F87+F6F6F6F6F6F6F6 F6F6F9F9F9F9F9F9F9%'MatrixG-F$6%\"*g[+Z\"-F(6#717**&%#s1GF.%#s2GF.*&FC F.%#c2GF.*&%#c1GF.FDF.*&FHF.FFF.FCFHFDFF7*F6F6F6F6F7F7F6F6FJ7*F7F7F7F7 F6F6F7F77*F6F6F6F6F7F7F6F77*F6F6F6F6F7F7F7F6FKFKFKFLFMFKFJFJFKF:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "The set of equations can be writte n 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 the mechan ism 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 " [ Q6 ] \+ [ Q6 ]\n" }}{PARA 0 "" 0 "" {TEXT -1 48 "Ass ume 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 equations " }}{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 homogeneo us linear equations in 8 monomials." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 83 "Constructing Z however, 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 singular. \+ 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 which give us Q8 with the smallest\ncondition number because inv(Q8) is the n computed most robustly w.r.t. the rounding errors." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 203 "To pro ceed further, we have to choose a concrete mechanism to get numerical \+ values in P, Q.\nWe shall choose general parameters of a meachnism tha t 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%\"*W!3q9-%'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.F/F0F0F./%#c6G-F)FK/%#c 4G-F)Fdq/%$mu5G,$-F4FatF./%(lambda6G-F)Fer" }}}}{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 a nd Mh into matrice P & Q and \ntruncate by first converting it to Mapl e software floats (precision given by Digits)\nand then exactly to rat ional numbers" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 175 "MPh := \{ op(Mechanism),op(MhV)\}:\nQx := simplify(evalf(subs(MPh,Q))):\nPx := simplify(evalf(subs(MPh,P))):\nQxR := convert(Qx,rational,exact):\nPx R := 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-%'RTABLEG6%\"*#*>\"p9- %'MATRIXG6#7*7#$\"?YYe7@It!Gc'=&4[y$!#C7#$\"?XYe7@It!Gc'=&4[y$F07#$\"? _]&y&e!\\<\\65`cvN$)!#D7#$\"?7m4Q*QZ`@$zY_^g'* !#G7#$\"?kA4Q*QZ`@$zY_^g'*F>7#$\"?hiuF4fQ)Ggt#=PVfF>7#$\"?eXuF4fQ)Ggt# =PVfF>&%'VectorG6#%'columnG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "Th e 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 #$\"?'41daok2AL'[$=\"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 equations 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 th einverse o f U from the left. U has 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 e quations from the last 6 rows" }}{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 := Trans pose(U).PxR:\nA8 := A[1..8,1..9]: \nZ := A[9..14,1..9]: " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Construct matrix Z" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 30 "`Z = `, ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%%Z~=~G-%'RTABLEG6%\"*kw,Z\"-%'MATRIXG6#7)7+*&%#s4 G\"\"\"%#s5GF/*&F.F/%#c5GF/*&%#c4GF/F0F/*&F4F/F2F/F.F4F0F2F/7+%\"*GF7F 7F7F7F7F7F7F7F6F6F6F6F6%'MatrixG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 75 "We have 6 equations for 8 monomials but also recall that Z contain s s3, c3:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "indets(Z);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#<$%#c3G%#s3G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "evalf(Z[1..6,9]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*7@\"p9-%'MATRIXG6#7(7#,(*&$\"?yu![Hx%Qw`;2A)\\J#! #G\"\"\"%#c3GF1!\"\"*&$\"?&)3l>V?.$\\h:AnsK%F0F1%#s3GF1F1$\"?\\#R09kpy g%f?PU?bF0F17#,(*&$\"?@Q)*QhFr/)p2iEe^)!#HF1F2F1F1*&$\"?S6esq;bbjUx:ri #)G35.AF0F37#,(*&$\"?[F;s5:w')GYmNQiIF0F1F2F1 F3*&$\"?`@x_U/]R`rB63<(*F0F1F7F1F1$\"?44d%f)eISyQs>%)HXF0F17#,(*&$\"?Q Ok!)ea()G.&H,1;r#!#IF1F2F1F3*&$\"?DA5&)za%\\p#**)y`=d)FTF1F7F1F1$\"?'o UF_F7!=xt)f(Gr6F?F37#,(*&$\"?MVI(pZ>il*yslsFDF?F1F2F1F1*&$\"?MdA&=Wr_E eAN;X2$F?F1F7F1F3$\"?n6=HBgRe#3!)z\"4.UF?F37#,(*&$\"?Cx`&*z[E&)o))4ib% Q%F0F1F2F1F1*&$\"?GW$\\PYUoB?)=!p@Q\"!#FF1F7F1F3$\"?!Q[xB!3$f:!o=H@vXF foF1&%'VectorG6#%'columnG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 68 "We w ill now proceed by choosing a different circle parameterization." }}} {EXCHG {PARA 0 "" 0 "" {OLE 1 29197 1 "[xm]Br=WfoRrB:::wk;nyyI;G:;:j:: >: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]::JZAjv:;::::>??J=j:F:;Jyk;Jj>J?j?J@>:U:W:wA[J:nYnYvY:::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=Jyyy ;d:yayA\\GHJJ=;N>::VB?LyyY:fZ;N:>:::=:;Y[yfvmyMKE> QW^KjOXlSaWRB:cAOZ:F:>EN:;JjB:C:[]:>;;J:C:M:k>_:C?O:K@S:c@U:;I:;VdfGg^gfZF@w:K:[TJODKSTJn=><;B:ctUUURaEB[TROESSURB:w:CZ:F`lB: w:s:UTT:vc`ofcWf_?^JwG:fUVtwx:>BhB?oTveKvr; V:V@>:UD:Mmk:::=B:NZOisOamhV]JVlQ@[:V_fFyh@@ kA>w=Vh>j:Fw=>?>jPB:;I>>V>JfZ:>:O:CZ:>:F:;J:R:YJsIJj@:YK^ yJ@>:[KcyJ<<:=B:M;J:vpI^BFB_mnFFS=;jCvexV[j>[lX<@_PJMvC>n>Y itV[j>?>Z:>:Y:;B:CJBI:;B:;jAJ ;lS?D?Cw=K:;NZZ:>:Mw=O:I:?B:EB;:JZDZ:>Z:v:vyyyw:B:;:yqyyYCJ:@:;R;b:GBv[C:<[JZAj:BZ:vy;>;Kj:DJ;B<;D :wRv[J::ay:cZ:N:tAvh;jI^\\>^=>:e B;c:ow^[gwdVGimPYJDYfDQM=b:v;oy:IM:Z;B:;RyABGBN>Z^[JK:L@<:BV;:>Z;Z:W;;rAHK;b>ci<[CbC`RGhHD:<:::=r>x[yYZNZ:L@@Z:rQx?<_JCO@]j>:;r\\aB>>:pJ<\\:< qTCVrI`wAl:ZG>Z_r=Z@>Z:B:dtAd:@:Z:B >xCR;>Z:bdZ;J:Z:rEZIBxAbpMB:DZiYZRZ;:?r;MB:hUjIhmV`SD:mV`;R`S`Z;Z:rxyxNx yFU`FY`:R`GE:;BRZy=Z:ryR] Gxy;B:GEm>O<`j=;ry`G:;^yyyyE:oDPxyyaC CeRppqXFyQ:vy:>ZZ;:`S:xyyyi:V ``CmyyyHMmlF[_`syxym?ZZ;>:ryZStrQYvV`SdKOvLTP`CvEaZ;>ZbWgWsyyaqwH@wbif J@lZ`ofStybIwCQxyyCRmtXTPmxiS`SxyyacZ;>ZLoa`ryyyyp LJP[YArGD]qEVxrix\\FaP;B]wFb>Z]dIR:;ryuQ:Z^[::Zyyyi]:ZyuyyIE>Z:V:>ZAZyyyiM:<:xiy yyZ>Z:>:=J:ZM>^NIZZF:DZVBZEZ\\Bn?BJ?J:DZRBZEZMBvABRAZZAZyyyiM:<:xiyyyFB::EZ:CJ>:;j:;BNHdL[?J:@j>J:@J:B:R:@j>J:@ZZFZ:>: ;b:@j>J:@Z:OZ:>:;r:@j>J:@ZZWZ:>:;B;@j>J:@Z:`Z:>:;BR;rblJ:R:L:<:D:Z:ZZIr:[IaCB:B;[IDR:`Jr=[:>:::b :dJr]:ZIZL]L>ZD:DJ:Kri=R: @[:U:xy:@ZC>Z;NZ<>:KB:xJ>Z:>:Hv?\\:<:@ZHt=;R=[ IO;B:;B:xc>Z::\\tA<<;rJSUTAuT;CWYEBEESMEW;SM=uVcUS_EBcUTcEUEEBaEWmEUEM :DtATZ:RBB:bdJ:@<@Z:B:xZ>b?=J:DK::HJZy[?ZJ?sHTZ=:KrZB:Kri>ZKBj =Z:>[y]CZX>ZjYZZFZZs>Yr=;R>[I>;B:;Z==@:DJ:tBpZX\\:raJ:@:Z =;:>>:PPvLQJHQtjspjcPpkxPqLPJlplTqllp@LOn`PsLPJl@bKYUW_EWKEBSUSZcofn?g Z:ZFZ>Zd<;rNR:HB>[yL:@[:I:xI`:D:KB:xJ>Z:>:HFb::xC>Z>>:>:<:bdZZ=<>Zy[?ZFQtHTZJ>HB>[yL:@[:I:xI`:D:KB:[I >;B:;Z==HZ:RZ:raJ:L:Z[d?R:D::J:TZ:J?>Z=<>Zy[?ZR?uHTZB:KrZJ>xE;R>[:B>[A ;bQxJ>Z:>:HFB;>ZBNZH\\GbN>Z:raZ>Z:BbY:d<;RbZZ::dDb:;:R:C:SZ=<>Z;D:;J>Hb?B:Kr^=b]yv\\Ls:t wX]`yHZLb>xy:>ZB>Z>VZCB:xm;@Z;>ZJBvIJ:>ZyM::dE[mSTX`hs=x@h:;BF\\Jr[A>Z:>:SZI r:[iAEZIB;\\<@ZC>XZIZFA:;b>d:b:S:OJ:HBB:;rYR;J>Hb:>:Kri>ZKBj=Z:>[y]C>Z;b:X>Z:ZJwZZr=@Kr=K:Z:raZ>Z:BbY:;bD>Z[D?b:;B:<:b:B:DZFZsy[>Z::ddHZ;:r:SJ:N[:>Z=<>Zy[?BZ[=ZKBj=Z:>[y]CJ;D:KB:xJ>Z:>:HFR:r;tl;x:T_:>Z:raJ:L:ZdJ:@dPZb:DZ:B:DZFZr= <:bdZ;bZ]s>Z>r[:=B:@ZyHZKR>xy:\\ZCrI?R :@Z:>ZJ>xBZjHZJQZJn[ZN[IR>:^;N[:rZBF>Zy?Z;R;< bna]hVZ;ZKBj=Z:>[yU:`Z;b:>[:B>[A;BfOBJxJ>Z:>:HFr:; B:TJ;tl;R=Dd:>Z:raJ:D:Z:RBZJ>H B>[yL:@[:I:xI`:DJ:>[:JrK:[I>;B:;Z==L:;RBo>ZL>:ZA^;N;;r^:xAPZ: DvGcEAr[Z;xE;R>[:B>[A;BRZ:>Z BNZhV:bOB:xC>Z>Z:BbY:;bD>Z[d?[=T;>[Mdqu_NHZHxMxu:D[LryZ>R<>ZyZ;B> :;ryZ:BZ;FZ;J:J`acmV`FEmSxyDUSEU:xZBZEL:j:FZ:>ZAr<[s=lZA@;;r=;b:[yYKJ:KZIr:xJ><:LZbJ:@ZC>xJB:;:::DZD:Z>>;N;;r^bGR[ DZ:>ZA\\:RZL:KrZ[yD:<[:I:hv:lsRry=B<\\Z;NZDlrUZ:rixBZ?>[:J?rRBC>Z>GZ>ZyGZ:R:xE[yIZRB@@ :B:xJEDL=xZ>:D>Z@>[:J?:Z>;xa:R:xE[yE@:B:Z>:D>ZA>;;xa:R:xE[yE@:B:;B>[A;Bk?RUQRf_bBGr=:D>ZB>;;xa:R:xE[yE@:B:[=\\:>[y\\J>Z:=Kry<:;R:J>>ZJ>X>Z?gZ]?\\\\F\\f nZIR=t>Zk?X;RbL;DZ:B:ZZdD?;Z;Z@>:`:@:<:x:t?D> J:hJ><:OJ:HcEbGBKJ:xA@Zy\\J>Z:=KrlZHIZZ:>ZyE@:>[:B>[A;Bk@UC@UCD BJO::L>rYR:xE[E=tF>ZQ]:>Zy=:KB:QZIB;Lj:bb:pJ> <:OZ]\\vZ:DSqcEAR[J:XBrib:@b:B:KrZZyD>[y=;R:J>H[\\:xu:BR>ZJ>XZ:raZ>B::H`Z>ZwBB;rRx`mCD@Qra\\:>Z[DCr<;B:< :B<;J:<:@Z:>Z:BZ@ZZ@ZCZ=B:XJ:<:OJ:HDZ:Di;dEAR[ZA[=[M:ri=ZZK:Z:BZ@ZZ:DLIdEAR[ZAJ>HB>[yD:<[:=K ryJ:@:>;;B>[A;BMArEWrjYrFCr=pZoZ:raJ:L:`f>icJO;EB:n:F;F:;B:;: YB:nu;>:??JB\\:d:A>[C:ZBvQ>\\:>RBZ:vMB:C:;JNO];>:kuE]CBuCBauEKSFQsRMS=UrV;SI;CXKSFQ;n elV_]oelfakf[G>iXO`bF`eJiDmO:ZZV_ZN`roelVfZV_roelbQ_CBVfXO@UCB]SI[S=UB D]sDkeQ`lktOSV?_CBkeQ_CBAEBQCBkeQf?`Gf[]?^wrPUcFkeQV?aUV_EWKCG;CXw DG;SE;CG;CD]sDRDKCXwdFUSFMSDutEKcFKSFjN`LJpj@:ZZJSVhk[kF_Ww_UO`bF@RDuT =UrRBBKSE;CXwdF;[kF_Zv_Z>_k>^e>^rkNpj@>>\\QJ\\LJ@MJh\\]?^c>^w>^l>^r?^i >>JvJ:J^>:MN:jjUJ=j>jCN\\:N;j:\\ J:Z:VJZ:FJ;ZBVJEZBVLW>cNikYO<_jy?:KB:C:vAj:@j:B:VQAI:FM;R`K]^:v;On>=J::yD:y<[Lb^D>`:B:Qnn>:;jo;W >;h]eCgrDCJ:>:v=CTvuC:;J:v^kA^:B:j;J:::n?yyyyyy_J:b;Nbki:xBH:<;r=HJr=l:Z;ry@:@j;LJ@B:;B>[IxJ>Z:>:HFB:r>xB\\L:r:[A;BfOZZp;R>[I>;J:rjZ;ZFbEAZGbB< J:Z;L:>[=xi:B <;B;`:x=@J:<[jy:>ZyM:B::^SBmZl:hQZei=;J :PyAl;;B:=J:LtFV:;J:HvI>Z;J:P:@ZWyH>:::::::::::::::::::::::::::::::::: :::::::::::^mv_cFxl>^b^WkFGtKVkj?;gSfor:GJ:v=;B:;JDB:]:=lt^FMmq>^ :Vh:Ff:fG[E:Sml>>FGoml>:;::::::::::::::::::::::::::EjcfHUmpFF_mv_:N:yyyxI:;Z::::::J;>Z:^^;B:<:EJ\\vGAmtjlA?R:yyyyyy:>:<::::::IZ:>v;B:<:AD:eMsZ:>:::::::oJ;@J>J<>:yayA:<::::::YJ:^b:>:;:=ja^g:J:>:::::::::J? :<::::::]:c:;:AB:>l:B:Y:KG:^:^q:J=J\\=:I:SH:>;;Jd=:MB:^UN;;B :CQ:v<^WV;;Jt=:[B:Z:n=^;:A:IBBV:v<:V;>:V;>:V;>:n]JJ<<:aDULplJ@<;G:wB:V;nbiognWhZfdmgf^s:b:bAB>>Z>;NZ@>Z:B:kb?WJNyTB>:::::::F:D:;B:::::::::^Mj yyiyYZ:J:^mkjTP\\:nbw>Z:fHcE:KmqNH>:::::::::::::::::::::::: ::::::::::::::::::::::::::::::::?ja^GEMb]:NZ:vYx I:;J:<::::::mJ:>kwJ:<::::::::::::vYxI:;Z::::::::::::::::::::yay=J:B::: ::::::::::::::::jysy:>:<::::::::yayY:^:F:e[:nBF:MB:HjKuK:vZ :NoBZ:^:VZ;>;EZ:V[;NyhQ^lK>Hyyyyyy>;NY;B:;B::C:UK;^Z::;J[: JwK>J:JbG>^=F]GFCcI=au:]H=;w:[G=Wx:]F=wy:eE=[C;qD= AE;AD=iF;WC=UH;sB=AR;aB=yR;SB=qS;EB=kT;yyPkbXJAPKTXJCPKEXjEPkvUJGPkgUjHPkXUJIPkIUJJPk:UJJPkkTJJPK\\TJI PKMTjHPK>TJGPKoQjEPK`QJCPkQQJAPKCQJ>PktPJ;PKfPjwMkWPjsMkIPjoMk;PJfMk`M j[MkEMJPMkkLjBMKRLjtLKyIJeLKaIjTLKJIJCLksHjpIk^HJ]IKJHjHIkvEJsHkcEJ]HK REjEHkAEjmEkrDJUEKdDj;EKWDjaDkKDjFDk@DJkAkwAJ]AksAJOAkoAJAAKlAjr@KiAJd @KfAjU@kcAJG@kaAJx=K`AJi=k^AJZ=k]AJK=K]Aj;=K]AJ<>:N:>:>Z:^:>x;VZ:^Z:jM @:JI:oAGB:;J:JjLHJ;vuCVf@NyPVf@^:;jPN::;:>X:I;JI:oAJ:J^jJVICF>sB=CJ:f??:J::[AjM:n=Jw;>:^:f?A:J<:E;Iy:^:f?A:J<:E;ku>=Q<=kkTJX:I;sB:;jwEJoxY:B:>l;>Z:>Z=CB:NZ;F:E:Mb:;J:Dj>>Z:N`Dv^@ncKFZ:>:]E:WL< <:WK::sg:bu=b:?bBaTXaEWEUU;J:<:JF>:=B:Z::C:UK=iMfvAi:cu>=i:cu>jiEjtHKiEJu HkhEJvHkhEJwHkhEjwHKiEJxHkiEJxHkj_IJsEJxH;Vxgi:ku>gi:gu>gi:eu >ei:cu>ai:cMsEJtH;>xiMnw_Qx:Ar:su>A :Cr:qu>Er:ou>Gr:ku>Ir:gu>Gr:eu>Er:cu>Cr:cu>AJtH;FZ=fhM>Z=nhMvy<>iMny;JxHk:HJxHk;^IjCHJx:er:qu>gr:ou>ir:ku>ir:gmEHjtHKEHJtHkDHJtV\\= ^HJCHjtHKBHJuv[=>iMv[=NiMv[=ViM>\\=^I_r:su>aJx:Cs:su>jLHjwv^=NiM>_=>iM >_=nhM>_=fhMv^=^hMf^=^HCs:c=N^=fH=s:gu>;KvHKJHJwHKJHjwHkJHJxN^=^ICKx:e s:su>JUHjwHkUHJw>a=>Ims:gu>ks:emUHJtn`=^Hes:c=V`=fhMN`=nhMF`=>iM>`=NI] s:qu>_s:smSHJxf@s=fb=^Ij]HjwHK^HJwHk^HJvHk^HJuFc=fhM>c=^hMvb=^HEt:c=^b =fhMNb=nH=t:kmZHJwHkZHjwNb=^ICt:sm\\^IJeHJxH;vd=VImt:ou>ot:ku>ot:gu>ot :eu>mt:cu>it:cMeHJt:ct:emcHJuHKcHJvHKcHJwHKcHjwHkcHJx^d=^IgLx:Iu:su>Jn HjwHknHJwNg=>IQu:gu>Ou:emnHJt>g=^HIu:c=ff=fhM^f=nhMVf=>iMNf=NIAu:qu>Cu :smlHJxvFs=vh=^IjvHjwHKwHJwHkwHJvH[=nHqu:eu>ou:cu>mu:cmuHJt:gu:eMtHJuV h=>Iau:ou>au:qMtHJxnh=^IiMx:Kv:su>j>IjwHk?IJwHK@IJvHK@IJuHK@IjtHk?IJtH k>IJt>k=^HJ=Ijtfj=nhM^j=>iM^j=NiM^j=VIEv:sM=IJx>Ks=Fm=^iM:ov:qu>qv:oMH IJvfm=nhM^m=fHqv:cMGIJtFm=^HjEIjtnl=nhMfl=>iM^l=NIev:qMEIJxvl=^ImNx:Mw :s=Vo=ViM^o=NiMfo=>iMno=nhMfo=fhM^o=^hMVo=^HMw:c=>o=fHGw:gmLIJvfn=NIEw :qMMIJx>o=^IMOx:ow:su>JXIjwHkXIJwHKYIJvHKYIJunq=fhMfq=^hM^q=^How:c=>q= fHiw:gMUIJvnp=NiMnp=VIiw:sMVIJxNQs=Vs=^iM:Sx:qMaIJwHKaIJvvs=nhMns=fHWx :cu>Sx:cm_IJt:Mx:eM^IJuvr=>IIx:om]IjwHK^IJxFs=^IQPx:qx:s=fu=ViMnu=NIyx :kMjIJuvu=fhMnu=^Hux:cmgIJt:ox:eMfIJuvt=>Iix:omeIjw>u=^Iox:smg_IJpIJxH ;nw=ViMvw=NI[y:kMrIJu>x=fhMvw=^hMnw=^HSy:c=Nw=fHMy:gMnIJv>w=NIKy:qmnIJ xNw=^ISQx:uy:su>JyIjw>Z>NiM>Z>>iMFZ>nhMB;eu>;B;cu>wy:cmxIJt:qy:eMwIJuF y=>Imy:omvIjwNy=^Iqy:smx_Ij@LJxHk@jALjwHKBLJwF\\>>iMN\\>nhMF\\>fhM>\\> ^HYB;cu>UB;cu>J@LjtHK?LJuHk>LJvHk>LJwHk>LjwHK?LJxHK@LJxHk@^IJILJxH;>^> ViMF^>NiMN^>>iMN^>nH?C;eu>=C;cu>;C;cMILJtH;^]>fHqB;gu>oB;ku>oB;ou>oB;q u>qB;su>sB;sMI^IjQLJxH;>`>VI_C;ou>_C;kmSLJuHKSLjtN`>^hM>`>^HYC;c=f_>fh M^_>nhMV_>>iMV_>NiMV_>ViM^_>^IUC;smQ^IjYLJx:=D;qu>?D;om[LJvHK\\LJuHk[L jtHK[LJtFb>^HyC;c=na>fhM^a>nHqC;kmWLJwVa>VIsC;sMYLJxvAs=>d>^iM:_D;qu>a D;ou>cD;ku>cD;gMdLjtHkcLJtHKcLJt>d>^HJaLjtfc>nhM^c>>iM^c>NiM^c>ViMfc>^ IWD;sMb^IjjLJxH;Nf>VICE;ou>CE;kmlLJuHKlLjt^f>^hMNf>^H=E;c=ve>fhMne>nhM fe>>iMfe>NiMfe>ViMne>^IyLxFFs=Fh>^IjsViM^h>NIeE;ku>gE;gu>eE;eu>cE;cmsL JtFh>^HJrLjtng>nHWE;ku>UE;oMqLjwHKqLJx>h>^I]Mx:?F;su>JfhMfj>^hM^j>^H?F;c=>j>fHyE;gu>wE;kMyLJwHKyLjwvi>^I;F;sM;_IjCM JxH;^l>VIgF;ou>gF;kmEMJuHKEMjtHKEMJtHKDMJtVl>^HjBMjt>l>nhMvk>>iMvk>NiM vk>VI[F;smBMJxVLs=Vn>^IjLMjwHKMMJwvn>>iM>o>nhMvn>fhMnn>^HEG;cu>AG;c=Nn >fH;G;gMJMJvvm>NI;G;qMJMJxNn>^IAOx:cG;su>JUMjwHkUMJwHKVMJvHKVMJu>q>fhM vp>^hMnp>^HcG;c=Np>fH]G;gMRMJv>p>NI[G;qmRMJxNp>^IcOx:EH;su>J]Mjw>s>NiM >s>>IMH;gu>KH;eM^MJtHK]MJtfr>^Hj[MjtNr>nH=H;kmZMJwFr>VI?H;sm[MJxfRs=ft >^IjeMjwHKfMJwFu>>IoH;gmfMjtHKfMJtvt>^HeH;c=^t>fH_H;gMcMJvFt>NI_H;qMcM Jx^t>^IePx:GI;su>JnMjwHknMJwNw>>IOI;gMoMjtHknMJtHKnMJtnv>^HJlMjtVv>nH? I;kMkMJwNv>VIAI;sMlMJxnVs=vx>^iM:kI;qMwMJwVy>>IqI;gu>qI;eu>oI;cu>kI;cm uMJt:eI;eMtMJuVx>>IaI;omsWIcI;smtMJxvXs=>[?^iM>;F[?ViMN[?NiMV[?>iM^[?n hMV[?fhMN[?^HMR;cu>KR;cu>J=PjtHK^ IJFPJx:oR;qu>qR;ou>sR;ku>sR;gMHPjtHkGPJtHKGPJt>]?^HJEPjtf\\?nhM^\\?>Ic R;ou>cR;qmDPJxHKEPJx>=s=F_?^iM:OS;qMPPJwHkPPJvHkPPJuHkPPjtHKPPJtHKOPJt F_?^HjMPjtHKMPJuHkLPJvHkLPJwHkLPjwHKMPJxv^?^iMF?s=Na?^iM:qS;qu>sS;omXP Jvna?nhMfa?fHsS;cmWPJtNa?^HJVPjtHKUPJun`?>iMf`?NIgS;qu>gS;sMVPJxNAs=Nc ?^IJ`PjwHk`PJwHKaPJvHKaPJunc?fhMfc?^hM^c?^HOT;c=>c?fHIT;gu>GT;kM]PJwHK ]Pjwvb?^IKT;sM_^IjgPJxH;^e?VIwT;ou>yT;ku>yT;gu>yT;eu>wT;cu>sT;cmgPJt:m T;eu>kT;gu>iT;ku>iT;ou>iT;qu>kT;smfPJxVEs=^g?^iM:UU;qu>WU;omqPJv>h?nhM vg?fHWU;cmpPJt^g?^HJoPjtHknPJuHKnPJvHkmPJw>g?ViMFg?^IOU;sMp^IJxPJx:wU; qu>yU;ou>;V;ku>;V;gM:QjtHkyPJtHKyPJt^i?^HJwPjtHkvPJu>i?>IkU;ou>kU;qmvP JxNi?^IsMx:UV;su>JAQjw>l?NiMFl?>iMFl?nhMFl?fhM>l?^hMnk?^HUV;c=Vk?fHOV; gu>MV;ku>MV;ou>MV;qM?QJxVk?^IUNx:wV;su>jIQjwHKJQJwFn?>I?W;gu>=W;eMJQJt vm?^HwV;c=^m?fhMVm?nhMNm?>iMFm?NIoV;qmGQJx^m?^IwNx:WW;s=>p?ViMFp?NiMNp ?>iMNp?nH_W;eu>]W;cu>[W;cMQQJt:UW;emOQJuNo?>IOW;oMOQjwVo?^IUW;su>WOx:y W;su>JZQjwNr?NiMVr?>iMVr?nhMVr?fhMNr?^hM>r?^HyW;c=fq?fHsW;gmWQJvVq?NiM Vq?VIsW;smXQJxvQs=>t?^iM:]X;qu>_X;omcQJv^t?nHaX;eMcQJtFt?^H[X;c=ns?fhM fs?nHSX;km_QJw^s?ViMfs?^IWX;sMb_IJjQJx:?Y;qu>AY;oMlQJv^v?nHCY;eu>AY;cu >?Y;cMjQJt:yX;eu>uX;gMhQJv^u?NIsX;qmhQJxvu?^I;Qx:]Y;su>JsQjw^x?NIeY;km tQJufx?fhM^x?^hMNx?^H]Y;c=vw?fHWY;gmpQJvfw?NIUY;qMqQJxvw?^I]Qx:?b;su>? :Ab;qu>TJwHkZ@fhMvy?nHwY;kmxQJwny ?VIyY;sM:TJxHK;^IJCTJx:cb;qu>eb;ou>gb;ku>gb;gMETjtHkDTJtHKDTJtN\\@^HjB TjtHkATJuHKATJvHKATJwHKATjwHkATJxHkBTJxHKC^IjKTJxH;f^@ViMn^@NiMv^@>iMv ^@nhMv^@fhMn^@^hMf^@^HAc;c=F^@fH;c;gu>yb;ku>yJwHkITjwHKJTJxF^@^IAc;s=^ `@^iM:ec;qMUTJwv`@>Ikc;gu>ic;eMUTJtf`@^Hcc;c=N`@fhMF`@nhM>`@>iM>`@NiM> `@ViMF`@^I_c;sMT^IJ\\TJx:Gd;qu>Id;ou>Kd;ku>Md;gu>Kd;eu>Id;cu>Gd;cM\\TJ t:Ad;eu>=d;gMZTJv>b@NI;d;qmZTJxVb@^ICLx:ed;su>jeTjwHKfTJwHkfTJvHkfTJuF e@fhM>e@^hMvd@^Hed;c=Vd@fH_d;gu>]d;ku>]d;ou>]d;qu>_d;smcTJxfDs=CB:;:=B :C:UK:^:J;^:>X^Z:jMryA:w::^:f?AB::GZ:J=NZ:NfA>Z:>AWKDiMfVku>EQufVeu>Ci:Vv=i:cu>yh:eMiEJufUku>u@NiMfUqMiEJxvu <^I=QxVVqMlOIEi:kml;Iu>Ei:JmHkl_fM^v<^fMVVAu>=i:Cu>yPlHKiEJmHkhwfMfu<: Mu>uh:Ou>wh:Qu>yh:Su>=qoHkkEJoHKlEjnHklEjmfVjeHkl;et>Ei:ct>CqcHkkEjcHk jWdMvu<^dMnUet>uh:it>u@>eMfUot>wPgHkiEjgHkjEJgHkkEJgHKl?EEqefVJ]Hkl;Ct >Ei:At>Ci:?t>Ai:?t>=i:?t>yh:At>wh:Ct>uh:Gt>u@>cMfUMt>wh:Ot>yP_HkjEJ_Hk kGcM^v<>cMfVGll;es>EA^`MfV_s>Ci:]s>Ai:]s>=i:]s>yh:_s>wh:cs>upTHkh;is>u PVHKiEjVHkiEJWHkjGaMVv<>aM^vEAV^MfvAqJHkjG^MvU?s >wpKHkhEjLHkh;Gs>uPNHKi?_Mvu_MVv<>_M^VGs>EqLfVJDHkl;_r>Ei:]r>C i:[r>Ai:[r>=i:[r>yh:]r>wh:_r>uh:cr>u@n\\MfUir>wh:kr>yPFHkj?]MVVir>Ci:g r>EQDfVj;Hkl;?r>EQ:HKlEjyEkkEjyEkjEjyEkiEJ:HKiEJ;HkhWZMfUj[MFVIr>Ai:Gr>Ci:Er>Eq;fVjsEklEjskrEklEJrEKlEjqEkkwwLFVYi>yPrEKiEj rEkhEjsEkhE:^xLfuEi :yh>Ci:wh>Ai:wh>=i:wh>yh:DKiEJjEkhEJkEkhE:^vLfUEi>wh:Gi>yPmEkjovLVVEi> Ci:Ci>EQkc:jbEkl;[h>EQaEKlEj`EkkEj`EkjEj`EkiEJaEKiEJbEkhGtLfUjcEkh_tLn uAi:ch>Ci:ah>EqbgVjZEkl;yg>Ei:wg>CqXEkkgqLFVug>yPYEKiwq LfuEAnoLfvpLfUJSEkhWpLnUcg>yPTEkjEJTEkkWpL^V_g>EQ RgVjIEkl;wf>EQHEKlEjGEkkEjGEkjEjGEkiEJHEKiEJIEkhwmLfUjJEkhOnLnuAi:?g>Ci:=g>EqIgVjAEkl;Uf>Ei:Sf>Cq?EkkOkLFvwp@EkhEjAE kh;[f>upBEKiEJCEkiEjCEkjEJCEkkEjBEKlEJBEklwKEAniLfVJxDklEjwDKlEJwDkkEJ wDkjOiLvuyP;EkjEJ;EkkGjL^Vye>EQyfVjpDkl ;Se>EQoDKlEjnDkkEjnDkjEjnDkiEJoDKiEJpDkhggLfUjqDkh?hLnuhL^VYe>EqpfVjhDkl;qd>Ei:od>CqfDkk?eLFvwpgDkhEjhDkh;wd>up iDKi?fLvuAi:yd>CQiDklgEEA^cLfVJ_DklEj^DKlEJ^DkkEJ^Dkj?cLvuyPbDkjEJbDkkwcL^VUd>EQ`fVjWDkl;oc>EQVDKlEj UDkkw`LFVic>yh:kc>wh:oc>upWDkh;uc>uPYDKiwaLvUyc>=qYDkkoaL^Vuc>EqWfVjOD kl;Mc>Ei:Kc>CqMDkko^LFVIc>yPNDKiG_Lfuyh:Yc>=QQDkkg_ L^VSc>EqOfVJGDkl;kb>Ei:ib>Ci:gb>AQEDkjo\\LvUib>wh:kb>uh:ob>u@V]LfUub>w PIDkio]LFVwb>AqHDKlW]LfVojl;Mb>EAvZLfvAqwp=DkhEj> Dkh;Qb>uP@DKig[LvUUb>=q@Dkk_[L^VQb>Eq>fVjvAklEjvkuAklEJuAKlEjtAkkEJtAk jEjtAkiEJuAKiEjuAkhEjvAkhE:NyKfuwKfv<:GY>Ei:EY>Ci:CY>Ai:CY>=QlAkiEjlAKiEJmAkhEJnAkhE:FwKfUQY>wPpAk i_wKFv<^wKVVQY>CqnAkl?WEAvtKfVjdAklEJdAKlEjcAkkEjcAkjEjcAkiEJdAKiEjdAk hEjeAkh;mX>uPgAKiEjgAkiEjgAkjEjgAkkEJgAKlEjfAklwTEAvrKfVj\\AklWrK^v=i:AX>yp[AKiEj\\AkhwrKfUJ^AkhGsKnuAi:MX>Ci:KX>Eq] gVJUAkl;cW>Ei:aW>CQSAkkEJSAkjOpKvuuh:gW>u@vpKfUmW>wPWAkiOqKFv CqUAkloPEAfnKfVjKAklEJKAKlEjJAkkEjJAkjEjJAkiEJKAKiEjKAkhEjLAk h;IW>uPNAKiEjNAkiEjNAkjEjNAkkEJNAKlEjMAklgNEAflKfVjCAklGlK^v= i:]V>ypBAKiEjCAkhglKfUJEAkhwlKnu<>mKvuAi:iV>Ci:gV>EqDgVJEi:=V>CQ:AkkEJ:Akj?jKvuuh:CV>u@fjKfUIV>wP>Aki?kKFv<>kKVVIV >CquPu @KiwhKvuEqsfVjk@klOfKfV=U>Eqi@KlEji@kkoeKFvwh:=U>uPk@khWfKfUCU>upl@KiofKvuAi:EU>CQl@klWFEANdKfVJb@klE ja@KlocKVvyh:YT>wPb@khEJc@kh;aT>upd@KigdKvUgT>=i:eT>Aqd@KlWdK fV_ll;=T>EAvaKfvyh:wS>wh:yS>uh:=T>u@VbKfUCT>wp\\@ kigbKFvCq[@klGBEA>`KfVjQ@klg_K^v=qP@kig_Knu u@N`KfUaS>wPT@kig`KFVcS>AqS@KlO`KfV[kl;;S>EAn]KfvAQH@kj_]KvUu R>wPI@khEJJ@kh;=S>upK@KiW^KvUCS>=i:AS>AqK@KlG^KfV;kl;YR>EAf[Kfv<^[K^v< V[KVVQR>=q?@ki_[KnuypC@kjW\\KVV_R>CqB@klw;EA nyJfvup:@KiOZKv UAR>=Q;@kkGZK^V;R>EAEQyKq=kl;SI>Ei:QI>CQo=kkEJo=kjOwJvuuh:WI> u@vwJfuEi:Wql;uH>EAVuJfv=i:=I>AQj=KlEji=klgUEA ^sJfVj_=klGsJ^v=i:MH>yp^=KiEj_=kh_sJfUJa=khwsJnu<>tJvuAi:YH>Ci:WH>EQ`gVJX=kl;oG>Ei:mG>CQV=kkEJV=kj?qJvuuh:sG>u@fq JfUyG>wpY=kiEJZ=kjEjY=kkEjY=KlgqJfVsol;QG>EAFoJfv<>oJ^voJnu=i:YG>AQQ=KlEjP=klWOEANmJfVjF= klwlJ^vu@^mJfuAi :uF>Ci:sF>EQGgVJ?=kl;KF>Ei:IF>CQ==kkojJFVGF>yp==Ki?kJfuyh:WF>=i:UF>Ai:UF>Cq?=klOKEA^Z:B:GR:=B:<:UK:^Z::?B:CB:>x;V:CB:v>^Z :JroZ:VZ:JIvZ:B:sQ:cf;mr>Ev;Ac?Ev;A KDUjF^LC:UK;:>:jMJHZ:BJFBMMp>:;::::^:f?GJ<<:WKFJ:Dj@:AEBuCBQLO>EOK<<:WK:::::JX^=VYZ:JBK:::::JJSJUPk:JNN@C:WK:^:f?E:>X^ =VYZ:JBK:DJ:<^LWdsgg\\wgf[:::::CZ:f?GJ=C:?R::M:Dj>JSd:KU?=B:Fh:B:< :WK:^:f?E:>X^=VYZ:JBK:::::JJSJUQk:jNF`:^:n? ;JFlGNe:qAB:>L >Z:BJFB:;::::^:f?GJ=J;@:E:M:DjCX^=VYZ:JBK:DJ:bNjqZ:::::CZ:f?GJ=J;@:j>Z;B:<>==B :F?_;n?;J;B:<>=_j^?`PSVd:N_:NC_C:JQ>:C:Uk<:[As:qAB:>L>Z:BJFB:;::::^:f?GJ=J;@:j> Z:_KPLJk=j@>:kuE<\\ZrE@mOHpNHJ_;B:<>=ibF`ej_EOK_jcj_J:C:Uk<:[As:qAB:>L>Z:BJFB:;::::^:f?GJ=J;@:j>Z: _kxUJk=j>>:aeQ_sDtOSpmR`L`:C:Uk<:[As:qAB:>l;J:< Z:kZ:>::::JX^=VYZ:JBK:::::J:_KaaJk=JGIE^c::^:n?;J;B:<>=:UC:_C:C:WK:^:f_;f:JrKHjw;<:[>;B:<>=:]SI[KdX^=VYZ:JBK:::::J _kV_roEMsRw\\eJJ\\Qi>^]?^e>^roEES:C:Uk<:[As:qAB:>L>Z:BJFB:;::::^:f?G J=J;@:j>B:Dj>JSdJUfxAFZ:jP:C:US:E:>X^=VYZ:JBK::::: J ;B:<>=;B:<>=:C:US: E:>X^=VYZ:JBK:::::JE C:WK:^:f?E:>X^=VYZ:JBK:::::J:C:US:E:>X^=VYZ:JBK:::::J_n>^roen>^bN@aLO:C:Uk<<:>X^=VYZ:JBK:::::J JSvMUh;=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<:[As: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:KS FMSQYsP_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>^b BBQCBk]cVc:fBaLO:C:Uk<:[As:qAB:>L>Z: BJFB:;::::^:f?GJ=J;@:j>ZuJNv:F>VhZJv:C:Uk<:[A A:;:::Ja@Na`^:B:::::::::::::::::::::::2:" }{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%\"*KY- Z\"-%'MATRIXG6#7#7+,$*,\"\"%\"\"\"%#x4GF/,&F/F/*$)F0\"\"#F/F/!\"\"%#x5 GF/,&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:=ScalarMultiply(x ,(1+x4^2)*(1+x5^2)):\nTranspose(y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #-%'RTABLEG6%\"*Wu-Z\"-%'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 109 "qy:=simpl ify(Z.y):\nmMy:=PolyVarsMonomials(M2L(qy),plex(x4,x5)):\nMy:=PolyCoeff Matrix(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 = `, ),s py(My)>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%&My~=~G-%'RTABLEG6%\"*30. Z\"-%'MATRIXG6#7)7+*&)%#x4G\"\"#\"\"\")%#x5GF0F1*&F3F1F.F1*$F.F1*&F/F1 F2F1*&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 equation s as follows.\n\nWe see that when multiplying all 6 equations by x4 ad ds 6 equations but only 3 monomials" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "mxy:=convert(map(f->f*x4,mMy),set) union convert(mMy, set);\nnops(mxy)-nops(mMy);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$mxyG <.\"\"\"*&)%#x4G\"\"#F&)%#x5GF*F&*&F,F&F(F&*&F)F&F+F&*&F,F&)F)\"\"$F&* &F0F&F+F&*&F)F&F,F&*$F0F&F,F)*$F(F&*$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:=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 12 "" 1 "" {XPPMATH 20 "6#-%'RT ABLEG6%\"*cg.Z\"-%'MATRIXG6#7#7.$\"\"!F-,$*&$\"?++++++++++++++?!#e\"\" \")%#x4G\"\"$F3F3F,,,*($\"?++++++++++++++?!#gF3%#c3GF3F4F3!\"\"*($\"?+ +++++++++++++?F;F3F " 0 "" {MPLTEXT 1 0 38 "`Myy = `, ),spy(Myy )>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%'Myy~=~G-%'RTABLEG6%\"*)oPq9-% 'MATRIXG6#7/7.*&)%#x4G\"\"$\"\"\")%#x5G\"\"#F1*&F3F1F.F1*$F.F1*&)F/F4F 1F2F1*&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 has a so lution 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 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#<$%#c 3G%#s3G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "Myy[1,1];" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,($\"?1fWobuoE?t&\\Abm&!#G\"\"\"*&$\"? ([t?MBl/9![(4ge>%F&F'%#s3GF'F'*&$\"?t!**)pt4!*QP: " 0 "" {MPLTEXT 1 0 47 "Transpose(simplify(simplify(>)-qyy));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*'*4/Z\"-%'MATRIXG6#7#7.$\"\"!F-,$*&$\"?+ +++++++++++++?!#e\"\"\")%#x4G\"\"$F3F3F,,,*($\"?++++++++++++++?!#gF3%# c3GF3F4F3!\"\"*($\"?++++++++++++++?F;F3F " 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 "" {MPLTEXT 1 0 9 "Mx3[1,1];" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#,($\"?Loa)>['y(Gy&y%**z$H!#G\"\"\"*&$\"?z\\MQH%)eld)G ^XIR)F&F')%#x3G\"\"#F'F'*&$\"?up9%oYI4Gg\\>? " 0 "" {MPLTEXT 1 0 42 "mx3:=Pol yVarsMonomials(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(evalf(Mx3))); " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$dx3G,T*&$\"?5SC9&yT7.!=]K,*R'!# D\"\"\")%#x3G\"#CF*F**&$\"?o(3&pDFD<$y=?=I_'!#CF*)F,\"#BF*F**&$\"?#y$H bR0O7@#418Z1$!#BF*)F,\"#AF*F**&$\"?iYDyERc#4i3&HPZ%*F7F*)F,\"#@F*F**&$ \"?t]^L/;E\"4]y>$y$G#!#AF*)F,\"#?F*F**&$\"?.`o*)f:DTV%fPZ!pYFBF*)F,\"# >F*F**&$\"?n\"[fO^wV;\\iy@pH)FBF*)F,\"#=F*F**&$\"?())paamh%eE%Q-3wJ\"! #@F*)F,\"#FRF*)F,\"#;F*F**&$\"?7r]$*y?K>k j85i3DFRF*)F,\"#:F*F**&$\"?'y1HE*frW:$)QSk[IFRF*)F,\"#9F*F**&$\"?U:N!H %)*)z'oZJ0JAMFRF*)F,\"#8F*F**&$\"?lymsE?(p6!)H$yg]NFRF*)F,\"#7F*F**&$ \">CSVx@\\'z]5L%HwS$!#?F*)F,\"#6F*F**&$\"?ZQ51o;9'zY]h3$=IFRF*)F,\"#5F *F**&$\"?9^K#[dQ'o!Qa_;\"fCFRF*)F,\"\"*F*F**&$\"?0Gb-)G'Ru[pR\"3$H=FRF *)F,\"\")F*F**&$\"?q6T$>Rcw:Xz$yCJ7FRF*)F,\"\"(F*F**&$\">PnI=*=N+C4Qi> !Q(FRF*)F,\"\"'F*F**&$\">$)Gw8M+#4?!\\lgr%QFRF*)F,\"\"&F*F**&$\">IkI^: =Oa-cQeXp\"FRF*)F,\"\"%F*F**&$\"=7\")4NSr>')\\.%HH#fFRF*)F,\"\"$F*F**& $\"<9nK8^*GTpwcz$\\\"F[pF*)F,\"\"#F*F**&$\"FRF*F,F*F* $\"9`M\"oru)=(y$)R;*F[pF*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "Norm alize it to get 1 at the x3^24 to maximize the precision" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 85 "nf:=LeadingCoefficient(dx3,tdeg(x3) )^(1/12);\ndx3nf:=sort(Determinant(evalf(Mx3)/nf));" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%#nfG$\"?>X)*>A0!3+1`aM[^#!#H" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&dx3nfG,T*&$\"?:?vU**********************!#I\"\"\")%# x3G\"#CF*F**&$\"?\\f;k@sQ1P^h(y$>5!#GF*)F,\"#BF*F**&$\"?$zl#o0J$y%*R%y DN*y%F1F*)F,\"#AF*F**&$\"?]3Yj\\\\*y$RG^'zjZ\"!#FF*)F,\"#@F*F**&$\"?=6 jL#H!Gi.\"z]h*oNFF* F**&$\"?*>x8'\\z0fI^PRf'H\"!#EF*)F,\"#=F*F**&$\"?5(4D1P%*)=!3b+!3f?FLF *)F,\"#\"z#Hm^q>(HFLF*)F,\"#;F*F**&$\"?'>CO#*=9zFW \"oZK?RFLF*)F,\"#:F*F**&$\"?\")oXZ&>2(f3CkZFLF*)F,\"#9F*F**&$\">`n# GANXu7u'y%=[`!#DF*)F,\"#8F*F**&$\">50')3cWzlfEB!o[bF`oF*)F,\"#7F*F**&$ \">Hbb#*4.PVHK.U_K&F`oF*)F,\"#6F*F**&$\"?0I*[_0u+dR4XMor%FLF*)F,\"#5F* F**&$\">ar$Gh3)f2\"ex?'H%QF`oF*)F,\"\"*F*F**&$\">X%[O'[nEo>qsM(eGF`oF* )F,\"\")F*F**&$\"?5I,N6+W`C<297C>FLF*)F,\"\"(F*F**&$\"?LhK1TX[]aw#[LL: \"FLF*)F,\"\"'F*F**&$\">8pg.>yV_*>pa67gFLF*)F,\"\"&F*F**&$\">]HenL$oP% e#pd:[EFLF*)F,\"\"%F*F**&$\"=ezWL2V(p`0G/gD*FLF*)F,\"\"$F*F**&$\"=Sz1$ =$G=lCkcTMBFLF*)F,\"\"#F*F**&$\"<>;T='yM3 " 0 "" {MPLTEXT 1 0 53 "dx 3n:=sort(dx3nf/LeadingCoefficient(dx3nf,tdeg(x3)));" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#>%%dx3nG,T*&$\"?&*****************************!#I\"\" \")%#x3G\"#CF*F**&$\"?'o,+5!#GF*)F,\"#BF*F**&$\"?pQo&f5Ly% *R%yDN*y%F1F*)F,\"#AF*F**&$\"?DG\">(\\\\*y$RG^'zjZ\"!#FF*)F,\"#@F*F**& $\"?-F1a#H!Gi.\"z]h*oNFF*F**&$\"?P**zo\\z0fI^PRf'H\"!#EF*)F,\"#=F*F**&$\"?FvHuqV*)=!3b+!3 f?FLF*)F,\"#\"z#Hm^q>(HFLF*)F,\"#;F*F**&$\"?js1Y*=9z FW\"oZK?RFLF*)F,\"#:F*F**&$\"?)>^u'>XZ&>2(f3CkZFLF*)F,\"#9F*F**&$\"?3[ ))eANXu7u'y%=[`FLF*)F,\"#8F*F**&$\"?t,P?hX%zlfEB!o[bFLF*)F,\"#7F*F**&$ \"?D7/c*4.PVHK.U_K&FLF*)F,\"#6F*F**&$\"?Hf*=b0u+dR4XMor%FLF*)F,\"#5F*F **&$\"?AqsM(eGFLF*)F, \"\")F*F**&$\"?;#Gg9,SMXsrS@T#>FLF*)F,\"\"(F*F**&$\"?M(GH6a%[]aw#[LL: \"FLF*)F,\"\"'F*F**&$\"?xs[q!>yV_*>pa67gF " 0 "" {MPLTEXT 1 0 30 "Cx3:=CompanionMatrix(dx3n,x3):" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 22 "x3s:=Eigenvalues(Cx3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$x3sG-%'RTABLEG6%\"*#f7p9-%'MATRIXG6#7:7#^$$\"?Fo?4rQ d%\\&etl2!)f!#I$\"?@=5@m(GEfu87G&f*)F17#^$$\"??o?4rQd%\\&etl2!)fF1$!?6 =5@m(GEfu87G&f*)F17#^$$\"?'f+(*>.lZvZ)eu%Q^&F1$\"?**QTF\"pZdVBP!=xB))F 17#^$$\"?*f+(*>.lZvZ)eu%Q^&F1$!?*)QTF\"pZdVBP!=xB))F17#^$$\"?48+]yr/vk R\"e^:L*!#P$\"?MQ4dFqB!RCD[+++\"!#H7#^$$\"?ln*p'yr/vkR\"e^:L*FJ$!?MQ4d FqB!RCD[+++\"FM7#^$$\"?p5X*fUuL[-Hk__#[!#O$\"?yld$=n<;4ko1*******F17#^ $$\"?;.z)eUuL[-Hk__#[FX$!?uld$=n<;4ko1*******F17#^$$!?;&=SFkD>'45_JED[ FX$\"?(>.E\\dh)*Q;L4+++\"FM7#^$$!?mG$QFkD>'45_JED[FX$!?(>.E\\dh)*Q;L4+ ++\"FM7#^$$!?SMOVx*Q()o6%*[Y9L*FJ$\"?!R3pHI'R2\"GZ<&******F17#^$$!?\"e fJu(*Q()o6%*[Y9L*FJ$!?#Q3pHI'R2\"GZ<&******F17#^$$!?5'o'Q&GCYk\"zb[\\o 7F1$\"\"!Fhp7#^$$!?k&=g>cZ<3hWy$Hj7F1Fgp7#^$$!?$Q\\b&e,377r5#3W\\&F1$ \"??&y#4>\"*y$\\M2*p'\\\"fF17#^$$!?y$\\b&e,377r5#3W\\&F1$!?9&y#4>\"*y$ \\M2*p'\\\"fF17#^$$!?RV*>^(fK<&o0esP\\&F1$\"?\">K48gQqctn\\k+\"fF17#^$ $!?UV*>^(fK<&o0esP\\&F1$!?!>K48gQqctn\\k+\"fF17#^$$!?,R#R?!z$znMI8=o]%\\H=FM$\"?Z)*3`4QO.Enn/k3gF[s7#^$$!?>\\1j]u$p>=o]%\\H=FM$!?_) *3`4QO.Enn/k3gF[s7#^$$!?ox1W**f6*\\rb4]&e@FMFgp7#^$$!?JvOQ\")[NY_1CS=e @FMFgp&%'VectorG6#%'columnG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 65 "Se lect the real solutions and convet them into the rational form." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 111 "x3sR:=:\nx3s:=map(x->convert(Re(x),rational),x3sR ):evalf(x3s); \n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*sE \"p9-%'MATRIXG6#7&7#$!?5'o'Q&GCYk\"zb[\\o7!#I7#$!?j&=g>cZ<3hWy$Hj7F.7# $!?qx1W**f6*\\rb4]&e@!#H7#$!?IvOQ\")[NY_1CS=e@F5&%'VectorG6#%'columnG " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 97 "map(x->subs(x3=x,evalf( [(2*x3)/(1+x3^2),(1-x3^2)/(1+x3^2)])),x3s);\nevalf(subs(Position,[s3,c 3]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*_F\"p9-%'MATRI XG6#7&7#7$$!?G(3Y79#4Pp\"p*R\"o\\#!#I$\"?#4^Ogx0!HU!*G/G$o*F/7#7$$!?y; ?f`=)ya[;())*o[#F/$\"?zU6%y/&>6jG6;$eo*F/7#7$$!?Ga\\&Gs%=F$3W,x#GwF/$! ?%Qp7yq$ekp\\y!=gY'F/7#7$$!?9.clvI$y\"GrpN6HwF/$!?5a5/mnc&eLR-J]Y'F/&% 'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$!?1gu$GU#)ya [;())*o[#!#I$\"?laPo,\\>6jG6;$eo*F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT 264 121 " Substitu te back and solve for all angles ---> to be continued in IRO-2007- IK-6-axes-6-dof-general-explaination-2.mws" }}}}{PARA 3 "" 0 "" {TEXT -1 0 "" }}}{MARK "0 0 0" 55 }{VIEWOPTS 1 1 0 3 4 1802 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }{RTABLE_HANDLES 146905664 146909980 146916060 146920124 146924836 146926308 146929076 146933284 146936052 146940512 146942128 146947632 146949176 146952088 146953484 146956176 146961860 146964552 146965948 146968716 146969216 146971908 146975804 146978496 146982716 146987432 146994404 146995868 147000896 147004860 147008044 146911992 147017664 146912112 147024632 147027444 147030508 147036056 147037688 147040996 146912592 146912672 146912752 }{RTABLE M7R0 I6RTABLE_SAVE/146905664X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c3G%#s3G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d3GF,6" } {RTABLE M7R0 I6RTABLE_SAVE/146909980X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda3G%$ mu3GF(F(,$F*!""F)F(%#a3GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146916060X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c4G%#s4G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d4GF,6" } {RTABLE M7R0 I6RTABLE_SAVE/146920124X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda4G%$ mu4GF(F(,$F*!""F)F(%#a4GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146924836X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c5G%#s5G""!F),$F(!""F' F)F)F)F)"""F)F)F)%#d5GF,6" } {RTABLE M7R0 I6RTABLE_SAVE/146926308X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda5G%$ mu5GF(F(,$F*!""F)F(%#a5GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146929076X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda2G,$ %$mu2G!""F(F(F+F)F(,$%#a2GF,F(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146933284X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c2G,$%#s2G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d2GF*F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146936052X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda1G,$ %$mu1G!""F(F(F+F)F(,$%#a1GF,F(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146940512X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c1G,$%#s1G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d1GF*F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146942128X,%)anythingG6"6"[gl!"%!!!#1"%"%%#lxG%#lyG%#lzG""!%#mxG% #myG%#mzGF*%#nxG%#nyG%#nzGF*%#rxG%#ryG%#rzG"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146947632X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda6G,$ %$mu6G!""F(F(F+F)F(,$%#a6GF,F(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146949176X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c6G,$%#s6G!""""!F+F)F' F+F+F+F+"""F+F+F+,$%#d6GF*F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146952088X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146953484X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(6" } {RTABLE M7R0 I6RTABLE_SAVE/146956176X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(%(lambda2G%$ mu2GF(F(,$F*!""F)F(%#a2GF(F(F'6" } {RTABLE M7R0 I6RTABLE_SAVE/146961860X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146964552X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(6" } {RTABLE M7R0 I6RTABLE_SAVE/146965948X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(F'F(F(F(F(F' F(F(F(%#d2GF'6" } {RTABLE M7R0 I6RTABLE_SAVE/146968716X,%)anythingG6"6"[gl!"%!!!#1"%"%"""""!F(F(F(,$%(lambda2G !""%$mu2GF(F(F,F*F(%#a2GF(%#d2GF'6" } {RTABLE M7R0 I6RTABLE_SAVE/146969216X,%)anythingG6"6"[gl!"%!!!#)"%"#""!,$%$mu5G!""%(lambda5G F'%#a5GF'F'"""6" } {RTABLE M7R0 I6RTABLE_SAVE/146971908X,%)anythingG6"6"[gl!"%!!!#1"%"%%#c2G%#s2G""!F)F(,$F'!"" F)F)F)F)"""F)F)F)F)F,6" } {RTABLE M7R0 I6RTABLE_SAVE/146975804X,%)anythingG6"6"[gl!"%!!!#)"%"#""!F'"""F'F'F',$%#d6G!"" F(6" } {RTABLE M7R0 I6RTABLE_SAVE/146978496X,%)anythingG6"6"[gl!"%!!!#""""",H*$%#ryG""#"""*&%#rzGF+ %#d1GF+!"#*$F-F*F+*$F.F*F+*$%#a1GF*F+*$%#d6GF*F+*$%#a6GF*F+*$%#rxGF*F+*(F9F+%#c 1GF+F3F+F/*(F)F+%#s1GF+F3F+F/*&,&*(F7F+F;F+F3F+F**&F7F+F9F+F/F+%#lxGF+F+*&,&*(F 7F+F=F+F3F+F**&F7F+F)F+F/F+%#lyGF+F+*&,&*&F7F+F.F+F**&F7F+F-F+F/F+%#lzGF+F+*&,& **F5F+%$mu6GF+F;F+F3F+F**(F5F+FPF+F9F+F/F+%#mxGF+F+*&,&*(F5F+FPF+F)F+F/**F5F+FP F+F=F+F3F+F*F+%#myGF+F+*&,&*(F5F+FPF+F.F+F**(F5F+FPF+F-F+F/F+%#mzGF+F+*&,&*(F5F +%(lambda6GF+F9F+F/**F5F+FjnF+F;F+F3F+F*F+%#nxGF+F+*&,&*(F5F+FjnF+F)F+F/**F5F+F jnF+F=F+F3F+F*F+%#nyGF+F+*&,&*(F5F+FjnF+F.F+F**(F5F+FjnF+F-F+F/F+%#nzGF+F+6" } {RTABLE M7R0 I6RTABLE_SAVE/146982716X,%)anythingG6"6"[gl!"%!!!#""""",do**%#d5G"""%(lambda4GF *%(lambda3GF*%#d3GF*""#**F-F*%#a4GF*%#s4GF*%$mu3GF*F.**F)F*%$mu4GF*F1F*%#a3GF*F .**F0F*%#c3GF*%#c4GF*%#a2GF*F.**%#s3GF*F2F*%#d4GF*F9F*F.**%#d2GF*%(lambda2GF*F< F*F,F*F.**F>F*%$mu2GF*F;F*F5F*F.*&,2*(%#a5GF*F8F*F5F*F.*,F>F*FAF*FEF*F;F*F8F*F. *.F>F*FAF*FEF*F1F*F7F*F,F*F.*,FEF*F;F*F,F*F1F*F9F*!"#*,F>F*F?F*FEF*F1F*F2F*F.** FEF*F7F*F8F*F9F*F.**FEF*F1F*F2F*F-F*F.*&FEF*F0F*F.F*%#c5GF*F**&,:*.F>F*FAF*FEF* F4F*F7F*F2F*FI*.F>F*F?F*FEF*F+F*F8F*F2F*F.*(FF*F?F*FEF*F4F*F,F*F.**FEF*F+F*F1F*F5F*FI*,FEF*F+F*F8F*F2F*F-F*F.*,FEF*F; F*F2F*F4F*F9F*F.*.F>F*FAF*FEF*F+F*F;F*F1F*FI*.FEF*F+F*F;F*F,F*F8F*F9F*FI**F-F*F EF*F4F*F,F*F.*0F>F*FAF*FEF*F+F*F8F*F7F*F,F*F.F*%#s5GF*F**$F0F.F**$FEF.F**$F)F.F **$FF*F?F*F-F*F.*$F-F.F**$F>F.F**$F9F.F**,F-F*F)F*F4F*F8F*F2F*FI*,F>F*FAF*F0F *F;F*F8F*F.*.F>F*FAF*F0F*F1F*F7F*F,F*F.*.F>F*FAF*F)F*F+F*F7F*F2F*FI*,F)F*F4F*F7 F*F1F*F9F*F.*.F)F*F4F*F;F*F,F*F8F*F9F*F.*,F)F*F;F*F2F*F+F*F9F*F.*,F0F*F;F*F,F*F 1F*F9F*FI*,F>F*F?F*F)F*F+F*F,F*F.*,F>F*F?F*F0F*F1F*F2F*F.*.F>F*F?F*F)F*F4F*F8F* F2F*FI*0F>F*FAF*F)F*F4F*F8F*F7F*F,F*FI*.F>F*FAF*F)F*F4F*F;F*F1F*F.*,F>F*FAF*F!\<\65`cvN$)!#D$"?7m4Q*QZ`@$zY_^ g'*!#G$"?kA4Q*QZ`@$zY_^g'*F3$"?hiuF4fQ)Ggt#=PVfF3$"?eXuF4fQ)Ggt#=PVfF36" } {RTABLE M7R0 I6RTABLE_SAVE/147017664X,%)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/146912112X*%)anythingG6"6"[gl!#%!!!"'"',(%#c3G$!?yu![Hx%Qw`;2A)\J #!#G%#s3G$"?&)3l>V?.$\h:AnsK%F+$"?\#R09kpyg%f?PU?bF+""",(F($"?@Q)*QhFr/)p2iEe^) !#HF,$!?S6esq;bbjUx:ri#)G35.AF+F1,(F($!?[F;s5:w')GYmNQiIF+F,$"? `@x_U/]R`rB63<(*F+$"?44d%f)eISyQs>%)HXF+F1,(F($!?QOk!)ea()G.&H,1;r#!#IF,$"?DA5& )za%\p#**)y`=d)FD$!?'oUF_F7!=xt)f(Gr6F5F1,(F($"?MVI(pZ>il*yslsFDF5F,$!?MdA&=Wr_ EeAN;X2$F5$!?n6=HBgRe#3!)z"4.UF5F1,(F($"?Cx`&*z[E&)o))4ib%Q%F+F,$!?GW$\PYUoB?)= !p@Q"!#F$"?!Q[xB!3$f:!o=H@vXFUF16" } {RTABLE M7R0 I6RTABLE_SAVE/147024632X,%)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/147027444X,%)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/147030508X,%)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/147036056X,%)anythingG6"6"[gl!"%!!!#-"""-$""!F(,$*$%#x4G""$$"?+++ +++++++++++?!#eF',,*&%#c3G"""F+F,$!?++++++++++++++?!#g*&F2F3F+""#F4*&F+F3%#x5GF 8$F5!#f*&F+F3F2F3F4*(F:F3F2F3F+F8$F.F.lZvZ)eu%Q^&F,$"?**QTF"pZdVBP!=xB))F,$"?*f+(*>.lZvZ)eu%Q^&F,$!?*)QTF"pZdVBP !=xB))F,$"?48+]yr/vkR"e^:L*!#P$"?MQ4dFqB!RCD[+++"!#H$"?ln*p'yr/vkR"e^:L*F=$!?MQ 4dFqB!RCD[+++"F@$"?p5X*fUuL[-Hk__#[!#O$"?yld$=n<;4ko1*******F,$"?;.z)eUuL[-Hk__ #[FG$!?uld$=n<;4ko1*******F,$!?;&=SFkD>'45_JED[FG$"?(>.E\dh)*Q;L4+++"F@$!?mG$QF kD>'45_JED[FG$!?(>.E\dh)*Q;L4+++"F@$!?SMOVx*Q()o6%*[Y9L*F=$"?!R3pHI'R2"GZ<&**** **F,$!?"efJu(*Q()o6%*[Y9L*F=$!?#Q3pHI'R2"GZ<&******F,$!?5'o'Q&GCYk"zb[\o7F,$""! F[o$!?k&=g>cZ<3hWy$Hj7F,Fjn$!?$Q\b&e,377r5#3W\&F,$"??&y#4>"*y$\M2*p'\"fF,$!?y$\ b&e,377r5#3W\&F,$!?9&y#4>"*y$\M2*p'\"fF,$!?RV*>^(fK<&o0esP\&F,$"?">K48gQqctn\k+ "fF,$!?UV*>^(fK<&o0esP\&F,$!?!>K48gQqctn\k+"fF,$!?,R#R?!z$znMI8=o]%\H=F@$"?Z)*3`4QO.Enn/k3g Fbp$!?>\1j]u$p>=o]%\H=F@$!?_)*3`4QO.Enn/k3gFbp$!?ox1W**f6*\rb4]&e@F@Fjn$!?JvOQ" )[NY_1CS=e@F@Fjn6" } {RTABLE M7R0 I6RTABLE_SAVE/146912672X*%)anythingG6"6"[gl!#%!!!"%"%$!?5'o'Q&GCYk"zb[\o7!#I$!? j&=g>cZ<3hWy$Hj7F)$!?qx1W**f6*\rb4]&e@!#H$!?IvOQ")[NY_1CS=e@F.6" } {RTABLE M7R0 I6RTABLE_SAVE/146912752X*%)anythingG6"6"[gl!#%!!!"%"%7$$!?G(3Y79#4Pp"p*R"o\#!#I $"?#4^Ogx0!HU!*G/G$o*F*7$$!?y;?f`=)ya[;())*o[#F*$"?zU6%y/&>6jG6;$eo*F*7$$!?Ga\& Gs%=F$3W,x#GwF*$!?%Qp7yq$ekp\y!=gY'F*7$$!?9.clvI$y"GrpN6HwF*$!?5a5/mnc&eLR-J]Y' F*6" }