"""Verify the saved Freudenthal rank certificate using exact rational arithmetic.""" from fractions import Fraction from pathlib import Path import json def require(value, message): if not value: raise AssertionError(message) def row(data): return {(i,j): Fraction(c) for i,j,c in data} def linear_combination(data, coeffs): out={} for i,c in coeffs: c=Fraction(c) for m,a in data[i].items(): out[m]=out.get(m,Fraction(0))+c*a if not out[m]: del out[m] return out p=Path(__file__).with_name('freudenthal_quadric_rank_certificate.json') d=json.loads(p.read_text()) a=[row(r) for r in d['original_rows']] b=[row(r) for r in d['echelon_rows']] require(len(a)==144 and len(b)==133,'Wrong matrix dimensions') require(len({min(r) for r in b})==133,'Repeated pivot') require(all(r[min(r)]==1 for r in b),'Unnormalized pivot') for r,c in zip(b,d['echelon_from_original']): require(r==linear_combination(a,c),'Incorrect forward span identity') for r,c in zip(a,d['original_from_echelon']): require(r==linear_combination(b,c),'Incorrect reverse span identity') from check_freudenthal_quadrics import rows require(a==rows(),'Certificate does not match the printed cyclic relations') print('PASS: rank 133; 133 forward and 144 reverse exact span identities.')