run2_check.py: independent verification run 2 (numpy, floating-point character tables)
groups: 42 of the release program + 14 further; per group: |G|, k, degrees, T, |Aut|,
involutory, equality cases, max|S| (all / a^2!=1), distinct C_G(a^2), outer max|S|, non-integral iota

C1: |G|=1 k=1 degrees 1 T=1 |Aut|=1 involutory=1 equality=1 max|S|=1 max|S|(a^2!=1)=0 C_G(a^2):1 outer-max|S|=None all-iota-1-automorphism=True non-integral iota: none
C2: |G|=2 k=2 degrees 1^2 T=2 |Aut|=1 involutory=1 equality=1 max|S|=2 max|S|(a^2!=1)=0 C_G(a^2):1 outer-max|S|=None all-iota-1-automorphism=True non-integral iota: none
C3: |G|=3 k=3 degrees 1^3 T=3 |Aut|=2 involutory=2 equality=1 max|S|=3 max|S|(a^2!=1)=0 C_G(a^2):1 outer-max|S|=3 all-iota-1-automorphism=True non-integral iota: none
C4: |G|=4 k=4 degrees 1^4 T=4 |Aut|=2 involutory=2 equality=1 max|S|=4 max|S|(a^2!=1)=0 C_G(a^2):1 outer-max|S|=4 all-iota-1-automorphism=True non-integral iota: none
C5: |G|=5 k=5 degrees 1^5 T=5 |Aut|=4 involutory=2 equality=1 max|S|=5 max|S|(a^2!=1)=1 C_G(a^2):2 outer-max|S|=5 all-iota-1-automorphism=True non-integral iota: none
C6: |G|=6 k=6 degrees 1^6 T=6 |Aut|=2 involutory=2 equality=1 max|S|=6 max|S|(a^2!=1)=0 C_G(a^2):1 outer-max|S|=6 all-iota-1-automorphism=True non-integral iota: none
C7: |G|=7 k=7 degrees 1^7 T=7 |Aut|=6 involutory=2 equality=1 max|S|=7 max|S|(a^2!=1)=1 C_G(a^2):2 outer-max|S|=7 all-iota-1-automorphism=True non-integral iota: none
C8: |G|=8 k=8 degrees 1^8 T=8 |Aut|=4 involutory=4 equality=1 max|S|=8 max|S|(a^2!=1)=0 C_G(a^2):1 outer-max|S|=8 all-iota-1-automorphism=True non-integral iota: none
C9: |G|=9 k=9 degrees 1^9 T=9 |Aut|=6 involutory=2 equality=1 max|S|=9 max|S|(a^2!=1)=3 C_G(a^2):2 outer-max|S|=9 all-iota-1-automorphism=True non-integral iota: none
C10: |G|=10 k=10 degrees 1^10 T=10 |Aut|=4 involutory=2 equality=1 max|S|=10 max|S|(a^2!=1)=2 C_G(a^2):2 outer-max|S|=10 all-iota-1-automorphism=True non-integral iota: none
C12: |G|=12 k=12 degrees 1^12 T=12 |Aut|=4 involutory=4 equality=1 max|S|=12 max|S|(a^2!=1)=0 C_G(a^2):1 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: none
C2xC2: |G|=4 k=4 degrees 1^4 T=4 |Aut|=6 involutory=4 equality=1 max|S|=4 max|S|(a^2!=1)=1 C_G(a^2):2 outer-max|S|=2 all-iota-1-automorphism=True non-integral iota: none
C2xC2xC2: |G|=8 k=8 degrees 1^8 T=8 |Aut|=168 involutory=22 equality=1 max|S|=8 max|S|(a^2!=1)=2 C_G(a^2):16 outer-max|S|=4 all-iota-1-automorphism=True non-integral iota: none
C3xC3: |G|=9 k=9 degrees 1^9 T=9 |Aut|=48 involutory=14 equality=1 max|S|=9 max|S|(a^2!=1)=3 C_G(a^2):6 outer-max|S|=9 all-iota-1-automorphism=True non-integral iota: none
C4xC2: |G|=8 k=8 degrees 1^8 T=8 |Aut|=8 involutory=6 equality=1 max|S|=8 max|S|(a^2!=1)=2 C_G(a^2):2 outer-max|S|=8 all-iota-1-automorphism=True non-integral iota: none
C4xC4: |G|=16 k=16 degrees 1^16 T=16 |Aut|=96 involutory=28 equality=1 max|S|=16 max|S|(a^2!=1)=4 C_G(a^2):6 outer-max|S|=16 all-iota-1-automorphism=True non-integral iota: none
S3: |G|=6 k=3 degrees 1^2 2 T=4 |Aut|=6 involutory=4 equality=4 max|S|=4 max|S|(a^2!=1)=1 C_G(a^2):2 outer-max|S|=None all-iota-1-automorphism=True non-integral iota: -0.500000
D8: |G|=8 k=5 degrees 1^4 2 T=6 |Aut|=8 involutory=6 equality=3 max|S|=6 max|S|(a^2!=1)=2 C_G(a^2):2 outer-max|S|=4 all-iota-1-automorphism=True non-integral iota: none
D10: |G|=10 k=4 degrees 1^2 2^2 T=6 |Aut|=20 involutory=6 equality=6 max|S|=6 max|S|(a^2!=1)=2 C_G(a^2):7 outer-max|S|=2 all-iota-1-automorphism=True non-integral iota: -0.809017, 0.309017
D12: |G|=12 k=6 degrees 1^4 2^2 T=8 |Aut|=12 involutory=8 equality=4 max|S|=8 max|S|(a^2!=1)=2 C_G(a^2):2 outer-max|S|=6 all-iota-1-automorphism=True non-integral iota: -0.500000, 0.500000
D14: |G|=14 k=5 degrees 1^2 2^3 T=8 |Aut|=42 involutory=8 equality=8 max|S|=8 max|S|(a^2!=1)=2 C_G(a^2):9 outer-max|S|=2 all-iota-1-automorphism=True non-integral iota: -0.900969, -0.222521, 0.623490
D16: |G|=16 k=7 degrees 1^4 2^3 T=10 |Aut|=32 involutory=16 equality=5 max|S|=10 max|S|(a^2!=1)=4 C_G(a^2):2 outer-max|S|=8 all-iota-1-automorphism=True non-integral iota: -0.707107, 0.707107
D18: |G|=18 k=6 degrees 1^2 2^4 T=10 |Aut|=54 involutory=10 equality=10 max|S|=10 max|S|(a^2!=1)=4 C_G(a^2):6 outer-max|S|=4 all-iota-1-automorphism=True non-integral iota: -0.939693, -0.500000, 0.173648, 0.766044
D20: |G|=20 k=8 degrees 1^4 2^4 T=12 |Aut|=40 involutory=12 equality=6 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):7 outer-max|S|=10 all-iota-1-automorphism=True non-integral iota: -0.809017, -0.309017, 0.309017, 0.809017
D24: |G|=24 k=9 degrees 1^4 2^5 T=14 |Aut|=48 involutory=24 equality=7 max|S|=14 max|S|(a^2!=1)=6 C_G(a^2):2 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: -0.866025, -0.500000, 0.500000, 0.866025
Q8: |G|=8 k=5 degrees 1^4 2 T=6 |Aut|=24 involutory=10 equality=3 max|S|=6 max|S|(a^2!=1)=2 C_G(a^2):5 outer-max|S|=4 all-iota-1-automorphism=True non-integral iota: 0.500000
Q16: |G|=16 k=7 degrees 1^4 2^3 T=10 |Aut|=32 involutory=16 equality=5 max|S|=10 max|S|(a^2!=1)=4 C_G(a^2):2 outer-max|S|=8 all-iota-1-automorphism=True non-integral iota: -0.707107, 0.707107
Dic12=C3x|C4: |G|=12 k=6 degrees 1^4 2^2 T=8 |Aut|=12 involutory=8 equality=4 max|S|=8 max|S|(a^2!=1)=2 C_G(a^2):2 outer-max|S|=8 all-iota-1-automorphism=True non-integral iota: -0.500000, 0.500000
A4: |G|=12 k=4 degrees 1^3 3 T=6 |Aut|=24 involutory=10 equality=6 max|S|=6 max|S|(a^2!=1)=2 C_G(a^2):6 outer-max|S|=6 all-iota-1-automorphism=True non-integral iota: -0.333333
S4: |G|=24 k=5 degrees 1^2 2 3^2 T=10 |Aut|=24 involutory=10 equality=10 max|S|=10 max|S|(a^2!=1)=2 C_G(a^2):8 outer-max|S|=None all-iota-1-automorphism=True non-integral iota: -0.500000, -0.333333
A5: |G|=60 k=5 degrees 1 3^2 4 5 T=16 |Aut|=120 involutory=26 equality=16 max|S|=16 max|S|(a^2!=1)=2 C_G(a^2):22 outer-max|S|=10 all-iota-1-automorphism=True non-integral iota: -0.250000, -0.206011, -0.200000, 0.200000, 0.250000, 0.539345
S5: |G|=120 k=7 degrees 1^2 4^2 5^2 6 T=26 |Aut|=120 involutory=26 equality=26 max|S|=26 max|S|(a^2!=1)=2 C_G(a^2):32 outer-max|S|=None all-iota-1-automorphism=True non-integral iota: -0.333333, -0.250000, -0.200000, 0.166667, 0.200000, 0.250000
C2xS3: |G|=12 k=6 degrees 1^4 2^2 T=8 |Aut|=12 involutory=8 equality=4 max|S|=8 max|S|(a^2!=1)=2 C_G(a^2):2 outer-max|S|=6 all-iota-1-automorphism=True non-integral iota: -0.500000, 0.500000
C3xS3: |G|=18 k=9 degrees 1^6 2^3 T=12 |Aut|=12 involutory=8 equality=4 max|S|=12 max|S|(a^2!=1)=3 C_G(a^2):2 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: -0.500000
S3xS3: |G|=36 k=9 degrees 1^4 2^4 4 T=16 |Aut|=72 involutory=22 equality=16 max|S|=16 max|S|(a^2!=1)=4 C_G(a^2):13 outer-max|S|=6 all-iota-1-automorphism=True non-integral iota: -0.500000, 0.250000
C2xQ8: |G|=16 k=10 degrees 1^8 2^2 T=12 |Aut|=192 involutory=44 equality=3 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):5 outer-max|S|=8 all-iota-1-automorphism=True non-integral iota: 0.500000
C2xD8: |G|=16 k=10 degrees 1^8 2^2 T=12 |Aut|=64 involutory=28 equality=3 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):5 outer-max|S|=8 all-iota-1-automorphism=True non-integral iota: none
C2xA4: |G|=24 k=8 degrees 1^6 3^2 T=12 |Aut|=24 involutory=10 equality=6 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):6 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: -0.333333
C7x|C3: |G|=21 k=5 degrees 1^3 3^2 T=9 |Aut|=42 involutory=8 equality=0 max|S|=7 max|S|(a^2!=1)=1 C_G(a^2):9 outer-max|S|=7 all-iota-1-automorphism=False non-integral iota: none
AGL(1,5)=C5x|C4: |G|=20 k=5 degrees 1^4 4 T=8 |Aut|=20 involutory=6 equality=0 max|S|=6 max|S|(a^2!=1)=2 C_G(a^2):7 outer-max|S|=None all-iota-1-automorphism=False non-integral iota: -0.250000
SL(2,3): |G|=24 k=7 degrees 1^3 2^3 3 T=12 |Aut|=24 involutory=10 equality=6 max|S|=12 max|S|(a^2!=1)=2 C_G(a^2):8 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: -0.333333, 0.500000
GL(3,2): |G|=168 k=6 degrees 1 3^2 6 7 8 T=28 |Aut|=336 involutory=50 equality=28 max|S|=28 max|S|(a^2!=1)=2 C_G(a^2):79 outer-max|S|=28 all-iota-1-automorphism=True non-integral iota: -0.166667, -0.142857, -0.125000, 0.125000, 0.142857, 0.333333
M16: |G|=16 k=10 degrees 1^8 2^2 T=12 |Aut|=16 involutory=12 equality=3 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):2 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: none
SD16: |G|=16 k=7 degrees 1^4 2^3 T=10 |Aut|=16 involutory=12 equality=5 max|S|=10 max|S|(a^2!=1)=2 C_G(a^2):2 outer-max|S|=10 all-iota-1-automorphism=True non-integral iota: none
C4x|C4: |G|=16 k=10 degrees 1^8 2^2 T=12 |Aut|=32 involutory=20 equality=3 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):2 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: none
C3^2x|C2: |G|=18 k=6 degrees 1^2 2^4 T=10 |Aut|=432 involutory=46 equality=10 max|S|=10 max|S|(a^2!=1)=4 C_G(a^2):27 outer-max|S|=6 all-iota-1-automorphism=True non-integral iota: -0.500000
C3^2x|C4: |G|=36 k=6 degrees 1^4 4^2 T=12 |Aut|=144 involutory=22 equality=12 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):11 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: -0.500000, 0.250000
Heis(3)=3^(1+2)_+: |G|=27 k=11 degrees 1^9 3^2 T=15 |Aut|=432 involutory=46 equality=0 max|S|=9 max|S|(a^2!=1)=3 C_G(a^2):6 outer-max|S|=9 all-iota-1-automorphism=False non-integral iota: 0.333333
AGL(1,7): |G|=42 k=7 degrees 1^6 6 T=12 |Aut|=42 involutory=8 equality=0 max|S|=8 max|S|(a^2!=1)=2 C_G(a^2):9 outer-max|S|=None all-iota-1-automorphism=False non-integral iota: -0.166667
C11x|C5: |G|=55 k=7 degrees 1^5 5^2 T=15 |Aut|=110 involutory=12 equality=0 max|S|=11 max|S|(a^2!=1)=1 C_G(a^2):13 outer-max|S|=11 all-iota-1-automorphism=False non-integral iota: none
C13x|C4: |G|=52 k=7 degrees 1^4 4^3 T=16 |Aut|=156 involutory=14 equality=0 max|S|=14 max|S|(a^2!=1)=2 C_G(a^2):15 outer-max|S|=2 all-iota-1-automorphism=False non-integral iota: -0.662773, 0.068473, 0.344301
GL(2,3): |G|=48 k=8 degrees 1^2 2^3 3^2 4 T=18 |Aut|=48 involutory=20 equality=9 max|S|=18 max|S|(a^2!=1)=2 C_G(a^2):8 outer-max|S|=18 all-iota-1-automorphism=True non-integral iota: -0.500000, -0.333333, -0.250000, 0.250000, 0.500000
SL(2,5): |G|=120 k=9 degrees 1 2^2 3^2 4^2 5 6 T=30 |Aut|=120 involutory=26 equality=15 max|S|=30 max|S|(a^2!=1)=2 C_G(a^2):32 outer-max|S|=20 all-iota-1-automorphism=True non-integral iota: -0.309017, -0.250000, -0.206011, -0.200000, -0.166667, 0.200000, 0.250000, 0.500000, 0.539345, 0.809017
Dic20: |G|=20 k=8 degrees 1^4 2^4 T=12 |Aut|=40 involutory=12 equality=6 max|S|=12 max|S|(a^2!=1)=4 C_G(a^2):7 outer-max|S|=12 all-iota-1-automorphism=True non-integral iota: -0.809017, -0.309017, 0.309017, 0.809017
D22: |G|=22 k=7 degrees 1^2 2^5 T=12 |Aut|=110 involutory=12 equality=12 max|S|=12 max|S|(a^2!=1)=2 C_G(a^2):13 outer-max|S|=2 all-iota-1-automorphism=True non-integral iota: -0.959493, -0.654861, -0.142315, 0.415415, 0.841254
D26: |G|=26 k=8 degrees 1^2 2^6 T=14 |Aut|=156 involutory=14 equality=14 max|S|=14 max|S|(a^2!=1)=2 C_G(a^2):15 outer-max|S|=2 all-iota-1-automorphism=True non-integral iota: -0.970942, -0.748511, -0.354605, 0.120537, 0.568065, 0.885456

totals over all 56 groups: automorphisms 3632 (involutory 768), equality cases 298
totals over the 42 groups of the release program: automorphisms 1778 (involutory 492), equality cases 209

Large groups (all automorphisms):
  S6: |G|=720 k=11 degrees [1, 1, 5, 5, 5, 5, 9, 9, 10, 10, 16] T=76 |Aut|=1440 involutory=112 equality=76 max|S|=76 max|S|(a^2!=1)=4 outer-max|S|=36 max|iota|=1.000000000; non-integral iota: -0.200000, -0.125000, -0.111111, 0.062500, 0.100000, 0.111111, 0.200000, 0.400000
  A6: |G|=360 k=7 degrees [1, 5, 5, 8, 8, 9, 10] T=46 |Aut|=1440 involutory=112 equality=46 max|S|=46 max|S|(a^2!=1)=4 outer-max|S|=36 max|iota|=1.000000000; non-integral iota: -0.200000, -0.125000, -0.111111, -0.077254, 0.100000, 0.111111, 0.200000, 0.202254, 0.400000
  PSL(2,11): |G|=660 k=8 degrees [1, 5, 5, 10, 10, 11, 12, 12] T=66 |Aut|=1320 involutory=122 equality=66 max|S|=66 max|S|(a^2!=1)=2 outer-max|S|=66 max|iota|=1.000000000; non-integral iota: -0.200000, -0.134836, -0.100000, -0.090909, 0.051503, 0.083333, 0.090909, 0.100000, 0.200000

Examples:
  Q8, i->j->k->i: |S_a|=2, T=6, (degree, iota)=[(1, -0.0), (1, -0.0), (1, -0.0), (1, 1.0), (2, 0.5)], |C_G(a^2)|=2, T(C_G(a^2))=2
  GL(3,2): transpose-inverse automorphism, |S_a|=28, symmetric invertible matrices=28 (direct count 28), T=28, degrees [1, 3, 3, 6, 7, 8], inner=False, equality automorphisms=28, outer involutory=28, |S_id|=22
  C7x|C3: T=9, max|S_a|=7, equality cases=0, automorphism with all iota=1: False
  AGL(1,5)=C5x|C4: T=8, max|S_a|=6, equality cases=0, automorphism with all iota=1: False
  S3: |S_id|=4, T=4
  S4: |S_id|=10, T=10
  S5: |S_id|=26, T=26
  abelian groups: inversion is an automorphism with |S_a| = |G| = T(G): True
  T(G x H) = T(G) T(H) for 8 direct products: True

Product indicator |G|^-1 sum_g chi(g) chi(a(g)) versus iota_a(chi) (the sums differ for non-linear chi):
  S3: automorphisms where the two quantities differ: 2 of 6; at g = 1 the summands are d and d^2
  Q8: automorphisms where the two quantities differ: 15 of 24; at g = 1 the summands are d and d^2
  S4: automorphisms where the two quantities differ: 14 of 24; at g = 1 the summands are d and d^2
  Q8, order-3 automorphism, degree-2 character: iota = 0.500000, product indicator = 1.000000

Negative controls:
  inversion map of S3 is an automorphism: False (expected False)
  S4 with T replaced by T-1: automorphisms violating the inequality: 10 (expected 10)
  S4 with C_G(a) in place of C_G(a^2): automorphisms violating |S_a| <= T(C_G(a)): 9 (expected > 0)

Comparison with the recorded output check_note_output.txt of the release program (42 groups):
  groups compared: 42; identical figures: 42

ALL CHECKS PASSED
