# # ==== A355565 ===== Rainer Rosenthal, August 2022 === V2.0 # restart: # Maple programming language # # cano - for coordinates (j,k) return the canonical # coordinates (j',k') with j' >= k' >= 0 and # resistance R(j',k') = R(j,k). # cano := proc(j,k) local jj,kk; jj := abs(j); kk := abs(k); if kk > jj then jj := abs(k); kk := abs(j); fi; return [jj,kk]; end: # # Compute complex numbers z = F_j_k, such that the # resistance is R(j,k) = (1/2)*Re(z) + (2/Pi)*Im(z). # # Diagonal: R(m,m) = R(m-1,m-1) + 1/(2m-1) # # For point E(j,k) (east) compute the resistance using # the resistance at the point north, south, west and center. # Laplace: E + N + S + W = 4 * C # # F_0_0 := 0: z := F_0_0: j := 0: k := 0: if true then printf("F_%d_%d = %a + I * (%a)\t\t\t\t",j,k,Re(z),Im(z)); printf("R(%d,%d) = %a + (%a)/Pi\n",j,k,(1/2)*Re(z),(2*Im(z))); fi; F_1_0 := 1: z := F_1_0: j := 1: k := 0: if true then printf("F_%d_%d = %a + I * (%a)\t\t\t\t",j,k,Re(z),Im(z)); printf("R(%d,%d) = %a + (%a)/Pi\n",j,k,(1/2)*Re(z),(2*Im(z))); fi; F_1_1 := I: z := F_1_1: j := 1: k := 1: if true then printf("F_%d_%d = %a + I * (%a)\t\t\t\t",j,k,Re(z),Im(z)); printf("R(%d,%d) = %a + (%a)/Pi\n",j,k,(1/2)*Re(z),(2*Im(z))); fi; for j from 2 to 8 do # # Diagonal: R(m,m) = R(m-1,m-1) + 1/(2m-1) # command := sprintf("z := F_%d_%d + I*1/(2*%d-1)",j-1,j-1,j); parse(command,statement); command := sprintf("unassign('F_%d_%d')",j,j); parse(command,statement); command := sprintf("F_%d_%d := %a + I * %a",j,j,Re(z),Im(z)); parse(command,statement); command := sprintf("z := F_%d_%d",j,j); parse(command,statement); printf("F_%d_%d = %a + I * (%a)\t\t\t\t",j,j,Re(z),Im(z)); printf("R(%d,%d) = %a + (%a)/Pi\n",j,j,(1/2)*Re(z),(2*Im(z))); for k from j-1 to 0 by -1 do E := sprintf("F_%d_%d",op(cano(j,k))); N := sprintf("F_%d_%d",op(cano(j-1,k+1))); S := sprintf("F_%d_%d",op(cano(j-1,k-1))); W := sprintf("F_%d_%d",op(cano(j-2,k))); C := sprintf("F_%d_%d",op(cano(j-1,k))); parse(sprintf("unassign('%s')",E),statement); # # Laplace: E + N + S + W = 4 * C # command := sprintf("z := solve(%s+%s+%s+%s=4*%s,%s)",E,N,S,W,C,E); parse(command,statement); command := sprintf("%s := z",E); parse(command,statement); printf("F_%d_%d = %a + I * (%a)\t\t\t\t",j,k,Re(z),Im(z)); printf("R(%d,%d) = %a + (%a)/Pi\n",j,k,(1/2)*Re(z),(2*Im(z))); od; od: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Output: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ F_0_0 = 0+I*(0) R(0,0) = 0+(0)/Pi F_1_0 = 1+I*(0) R(1,0) = 1/2+(0)/Pi F_1_1 = 0+I*(1) R(1,1) = 0+(2)/Pi F_2_2 = 0+I*(4/3) R(2,2) = 0+(8/3)/Pi F_2_1 = -1+I*(2) R(2,1) = -1/2+(4)/Pi F_2_0 = 4+I*(-2) R(2,0) = 2+(-4)/Pi F_3_3 = 0+I*(23/15) R(3,3) = 0+(46/15)/Pi F_3_2 = 1+I*(2/3) R(3,2) = 1/2+(4/3)/Pi F_3_1 = -8+I*(23/3) R(3,1) = -4+(46/3)/Pi F_3_0 = 17+I*(-12) R(3,0) = 17/2+(-24)/Pi F_4_4 = 0+I*(176/105) R(4,4) = 0+(352/105)/Pi F_4_3 = -1+I*(12/5) R(4,3) = -1/2+(24/5)/Pi F_4_2 = 12+I*(-118/15) R(4,2) = 6+(-236/15)/Pi F_4_1 = -49+I*(40) R(4,1) = -49/2+(80)/Pi F_4_0 = 80+I*(-184/3) R(4,0) = 40+(-368/3)/Pi F_5_5 = 0+I*(563/315) R(5,5) = 0+(1126/315)/Pi F_5_4 = 1+I*(20/21) R(5,4) = 1/2+(40/21)/Pi F_5_3 = -16+I*(499/35) R(5,3) = -8+(998/35)/Pi F_5_2 = 97+I*(-1118/15) R(5,2) = 97/2+(-2236/15)/Pi F_5_1 = -280+I*(3323/15) R(5,1) = -140+(6646/15)/Pi F_5_0 = 401+I*(-940/3) R(5,0) = 401/2+(-1880/3)/Pi F_6_6 = 0+I*(6508/3465) R(6,6) = 0+(13016/3465)/Pi F_6_5 = -1+I*(118/45) R(6,5) = -1/2+(236/45)/Pi F_6_4 = 20+I*(-626/45) R(6,4) = 10+(-1252/45)/Pi F_6_3 = -161+I*(13462/105) R(6,3) = -161/2+(26924/105)/Pi F_6_2 = 672+I*(-18412/35) R(6,2) = 336+(-36824/35)/Pi F_6_1 = -1569+I*(1234) R(6,1) = -1569/2+(2468)/Pi F_6_0 = 2084+I*(-24526/15) R(6,0) = 1042+(-49052/15)/Pi F_7_7 = 0+I*(88069/45045) R(7,7) = 0+(176138/45045)/Pi F_7_6 = 1+I*(262/231) R(7,6) = 1/2+(524/231)/Pi F_7_5 = -24+I*(14369/693) R(7,5) = -12+(28738/693)/Pi F_7_4 = 241+I*(-1312/7) R(7,4) = 241/2+(-2624/7)/Pi F_7_3 = -1320+I*(327143/315) R(7,3) = -660+(654286/315)/Pi F_7_2 = 4321+I*(-71230/21) R(7,2) = 4321/2+(-142460/21)/Pi F_7_1 = -8752+I*(721937/105) R(7,1) = -4376+(1443874/105)/Pi F_7_0 = 11073+I*(-130424/15) R(7,0) = 11073/2+(-260848/15)/Pi F_8_8 = 0+I*(91072/45045) R(8,8) = 0+(182144/45045)/Pi F_8_7 = -1+I*(1624/585) R(8,7) = -1/2+(3248/585)/Pi F_8_6 = 28+I*(-300766/15015) R(8,6) = 14+(-601532/15015)/Pi F_8_5 = -337+I*(131972/495) R(8,5) = -337/2+(263944/495)/Pi F_8_4 = 2288+I*(-888568/495) R(8,4) = 1144+(-1777136/495)/Pi F_8_3 = -9681+I*(2395676/315) R(8,3) = -9681/2+(4791352/315)/Pi F_8_2 = 26684+I*(-6601046/315) R(8,2) = 13342+(-13202092/315)/Pi F_8_1 = -48833+I*(191776/5) R(8,1) = -48833/2+(383552/5)/Pi F_8_0 = 59712+I*(-4924064/105) R(8,0) = 29856+(-9848128/105)/Pi ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~