v2.27 version numsymconf:

N=6-chain-JJ

- rekursiv creation of states
- start state is dddddd=111111 (all spins down, most significant bit first)
- flip one spin and test if its minimum symmetric cfg
 
3+3:  oxxxxx=1 1:ooxxxx=2 2:oooxxx=5 ooxoxx=6 ooxxox- ooxxxo-
      xoxxxx-    oxoxxx=3 3:oxooxx-  oxoxox=7 oxoxxo-
      xxoxxx-    oxxoxx=4 4:oxxoox-  oxxoxo-
      xxxoxx-    oxxxox-
      xxxxox*    oxxxxo*
      xxxxxo*
3+3: 6-2tests    5-1tests  9tests           = 17scalls (3of6)=20
2+4: 6-1tests    5tests                     = 10scalls (2of6)=15
1+5: 6tests                                 =  6scalls (1of6)=6
4+2: 6-3tests    5-2tests  9-3tests  6tests = 18scalls (4of6)=15
5+1: 6-4tests    5-3tests  7-4tests  5-2tests ...
6+0: 6-5tests    5-4tests ...               =  6scalls  -5no_choice???

1=min.symconfig for 1u+5d, used to put next up spin
-: not symconfig, through away
*: not usable to put further up-spins, also not symcfg
2-4=min.sym configs for 2u+4d, used to generate 3u+3d-cfgs
5-7=min sym cfgs for 3u+3d
 
2+4 q01: n1=3 scalls=10, q00: n1=1 sc=10
4+2 q01: n1=3 scalls=10, q00: n1=1 sc=10
# N=6 is to simple

# N=8-chain-tJ (n1=result=hilbert_dim, scalls=CPUcost) 
2+6 n1=2 scalls=18   n1=12-sign
6+2 n1=2 scalls=39  theor. 4,38
1+7 n1=3 scalls=37-29 (incl. dive into ddd.ddd = bad)
7+1 n1=3 scalls=89-88
# N=40-chain-tJ
1+38 n1=19 157 -> 156
38+1 n1=19 4938 -> 933
2+37 n1=361 scalls=1332
37+2 n1=361 scalls=39328


tJ8=1+6: first put all holes, then all ups to remaining downs
one hole * 2nd holes (in 8 downs) * by one up (in rest downs)
 .xxxxxxx=1:..xxxxxx=2: ..oxxxxx=6 ..xoxxxx=7 ..xxoxxx=8 ..xxxoxx-  etc.
 x.xxxxxx-  .x.xxxxx=3: .o.xxxxx=9 .x.oxxxx=A .x.xoxxx=B .x.xxoxx=C .x.xxxox-
 xx.xxxxx-  .xx.xxxx=4: .ox.xxxx=D .xo.xxxx-  .xx.oxxx=E .xx.xoxx=F .xx.xxox-
 xxx.xxxx-  .xxx.xxx=5: .oxx.xxx=G .xox.xxx=H .xxo.xxx-  .xxx.oxx-  .xxx.xox-
 xxxx.xxx-  .xxxx.xx-   
 xxxxx.xx-  .xxxxx.x-   but sorted: 6,7,8,9,D,G,A,H,B,C,E,F (D<A)
 xxxxxx.x-  .xxxxxx.-
 xxxxxxx.*
  7tests       +7tests    +4*6tests  = 38tests,  2nd_up: +12*5-1tests
 => 12 scfgs, 38 tests

tJ8=0+2 (6holes):
 .xxxxxxx=1:..xxxxxx=2 2:...xxxxx=5 5:....xxxx=9 9:.....xxx=F F:......xx=K
 x.xxxxxx-  .x.xxxxx=3   ..x.xxxx=6   ...x.xxx=A   ....x.xx=G   .....x.x=L
 xx.xxxxx-  .xx.xxxx=4   ..xx.xxx=7   ...xx.xx=B   ....xx.x-    .....xx.-
 xxx.xxxx*  .xxx.xxx*    ..xxx.xx*    ...xxx.x*    ....xxx.-  G:....x..x=M
 etc        etc          etc          etc        A:...x..xx=H   ....x.x.-
                       3:.x..xxxx-  6:..x..xxx=C   ...x.x.x=I H:...x...x=N
                         .x.x.xxx=8   ..x.x.xx=D   ...x.xx.*    ...x..x.-
                         .x.xx.xx*    ..x.xx.x*  B:...xx..x-  I:...x.x..-
                         etc          etc          ...xx.x.*
                       4:.xx..xxx-  7:..xx..xx=E C:..x...xx-
                         .xx.x.xx*    ..xx.x.x*    ..x..x.x=J J:..x..x..-
                         etc          etc          ..x..xx.*
                                                 D:..x.x..x-
                                    8:.x.x..xx-    ..x.x.x.*
                                      .x.x.x.x*  E:..xx...x-
                                     etc           ..xx..x.*
 8cfgs     +7cfgs    +6+5+4cfgs +5+4+3+3cfgs  4+3+2+3+2+2  => 4cfgs K-N
 3tests    +3tests      +6tests   +7tests      +11tests    +9-2tests =38scalls

better set 2ds to holes! by inversion .<->d, maxcfg, +bitinversion

 # transformation: (nu,nd,u,d,i) -> (nd,nu,d,u,n-i-1) o=up x=down
 oooxxxx vs. ooooxxx          vs. xxxoooo  
 ooxoxxx     oooxoxx              xxoxooo
 ooxxoxx     ooxooxx              xxooxoo
 oxooxxx     oooxxox unsorted!    xoxxooo  (better maxsymcfg.)
 oxoxoxx     ooxoxox              xoxoxoo

 # transformation: (nu,nd,.,u,d,i) -> (nu,N-nu-nd,d,u,.,n-i-1)
 ..oxxx vs. ...oxx
 ..xoxx     ..o.xx
 .o.xxx     ...xox unsorted
 .x.oxx     ..ox.x
 .x.xox     .o.x.x

tJ: put . and u (first method)
 .xxxxxxx=1 1: ..xxxxxx=3
 oxxxxxxx=2    .oxxxxxx=4
 x.xxxxxx-     .x.xxxxx=5
 xoxxxxxx-     .xoxxxxx=6 etc.
 xx.xxxxx-  2: scfg, but all substates are -
 etc.
 2*8tests

2nd method:
 put all . first, than put all u to rest d (nh-of-nn)*(nu-of-(nn-hh)) ???
 ..xxxxxx=A: ..oxxxxx=1 ..xoxxxx=2 ..xxoxxx=3 ..xxxoxx-  ..xxxxox- ..xxxxxo-
 .x.xxxxx=B: .o.xxxxx=4 .x.oxxxx=5 .x.xoxxx=6 .x.xxoxx=7 .x.xxxox- .x.xxxxo-
 .xx.xxxx=C: .ox.xxxx=8 but less than cfg5! etc. ToDo: other coding!?
 .xxx.xxx=D: etc.
 .xxxx.xx-
 .xxxxx.x-
 .xxxxxx.-

# Speed dominated by number of ifsmallest-calls (old=n1/600000[min])
# time [min] P4-1.3GHz 
# (40!/8!/32!)=76904685=480654*160+45=482184+482139+480948+...
#JJ40sq
#nu+nd t.old-v2.26 t.new-v2.27 n1             #ifsmallest-calls
  8+32 old=    0.88 new=   0.05 n1=    482184 scalls=  1139661
 10+30 old=    8.80 new=   0.60 n1=   5302829 scalls= 12369688
 12+28 old=   58.35 new=   4.67 n1=  34930456 scalls= 82401417
 14+26 old=  244.48 new=  24.35 n1= 145068828 
 16+24 old=  669.62 new=  86.05 n1= 392867556 
 18+22 old= 1190    new= 218.37 n1= 708682778
 20+20 old= 1278.68 new= 450.80 n1= 430909650 
 22+18 old= 1190    new= 550.05 n1= 398340048 JJ ???
 28+12 old=   66.03 new=  19.98 n1=  34930456 scalls=250458421
 30+10 old=   11.17 new=   4.17 n1=   5302829 scalls= 50885321  
 32+8  old=    1.05 new=   0.55 n1=    482184 scalls=  6509371
#tJ40sq
  5+33 old=   41    new=   0.87 n1=   2446389 scalls=  4922574
  4+34 old=    5    new=   0.12 n1=    359793 scalls=   753046
 34+4  old=    5    new=   0.42 n1=    359793 scalls=  2684232
  5+34 old=    2.13 new=   0.05 n1=    144063 scalls=   311580
 34+5  old=    2.13 new=   0.10 n1=    144063 scalls=   588798
#tU40sq
 37+38 old=    0.77 new=   0.02 n1=     48216 scalls=   109806
  3+38 old=    0.75 new=   0.05 n1=     48216 scalls=   370574
  3+2  old=    0.78 new=   0.28 n1=     48216 scalls=  1371829 ToDo! 1373256
 37+2  old=    0.78 new=   0.07 n1=     48216 scalls=   423675
 37+37 old=   26.72 new=   0.60 n1=    303840 scalls=  1333350
 36+37 old=  200    new=   3.40 n1=   5643142 scalls= 11783358
#tU16sq
 10+10 old=    7.90 new=   0.30 n1=     84708 scalls=  1348616?
  8+ 8 old=   28    new=   0.68 n1=    218082 scalls=  2806661?
  6+ 6 old=    7.72 new=   0.47 n1=     84708 scalls=  1703094?