restart: with(combinat): # # Generating the sets underlying the sequences # # A048211, A174285, 174286 # # Author Rainer Rosenthal, Feb 5 2021 # # # SetA048211 - compute set of resistances such that # AA048211(n) = card(SetA048211(n)) # # SetA174285 - compute set of resistances such that # A174285(n) = card(SetA174285(n)) # # SetA174286 - compute set of resistances such that # A174286(n) = card(SetA174286(n)) # # Generators Series, Parallel, Bridge: # Ser := (x1,x2) -> x1 + x2: Par := (x1,x2) -> 1 / (1/x1 + 1/x2): Bri := (x1,x2,x3,x4,x5) -> (x2*x1*x4+x2*x1*x5+x5*x4*x1+x5*x4*x2+x3*(x2+x5)*(x1+x4))/ # -------------------------------------------------------- ((x1+x2)*(x4+x5)+x3*(x1+x4+x2+x5)): # # Derived set functions in this way: SetFkt(A,B) = {Fkt(a,b) | a in A and b in B} # SetSer := (X1,X2) -> {seq(seq( Ser(X1[i1],X2[i2]), i2=1..nops(X2)), i1=1..nops(X1))}: SetPar := (X1,X2) -> {seq(seq( Par(X1[i1],X2[i2]), i2=1..nops(X2)), i1=1..nops(X1))}: SetBri := (X1,X2,X3,X4,X5) -> {seq(seq(seq(seq(seq( Bri(X1[i1],X2[i2],X3[i3],X4[i4],X5[i5]), i5=1..nops(X5)), i4=1..nops(X4)), i3=1..nops(X3)), i2=1..nops(X2)), i1=1..nops(X1))}: SetA048211 := proc(n) # option remember; local allres,k,w1,w2,xload,partload,i,addresi, permad,numad,wheremore,pw,increm,plan,ix,setsplanned; if n = 1 then return {1}; fi; allres := {}: allres := `union`(allres,seq(SetSer(procname(k),procname(n-k)),k=1..n/2)); allres := `union`(allres,seq(SetPar(procname(k),procname(n-k)),k=1..n/2)); return allres; end: A048211 := n -> nops(SetA048211(n)): SetA174285 := proc(n) # option remember; local allres,k,w1,w2,xload,partload,i,addresi, permad,numad,wheremore,pw,increm,plan,ix,setsplanned; allres := {}: # # Bridge combinations # xload := n - 5; # 5 arms in a 'bridge' if xload >= 0 then partload := partition(xload); for i to nops(partload) do addresi := partload[i]; permad := permute(addresi); numad := nops(addresi); wheremore := choose(5,numad); for pw in wheremore do for increm in permad do plan := [1,1,1,1,1]; setsplanned := [{1},{1},{1},{1},{1}]; for ix to nops(pw) do setsplanned[pw[ix]] := SetA048211(plan[pw[ix]] + increm[ix]); od; allres := allres union SetBri(op(setsplanned)); od: od; od: fi; return allres; end: print(Sequence_A048211_from_1_to_12); seq(A048211(n),n=1..12); # 1, 2, 4, 9, 22, 53, 131, 337, 869, 2213, 5691, 14517 A174285 := n -> nops(SetA174285(n)): print("~~~~~~~"); print(Sequence_A174285_from_1_to_12); seq(A174285(n),n=1..12); # 0, 0, 0, 0, 1, 3, 17, 61, 235, 815, 2563, 7585 print("~~~~~~~"); print(Sequence_A174286_from_1_to_12); A174286 := n -> nops(`union`(seq(SetA174285(k),k=1..n))): seq(A174286(n),n=1..12); # 0, 0, 0, 0, 1, 3, 19, 75, 291, 985, 3011, 8659