Evidence

s845.py

Download source fileOpen in research workspace
from research import *
s=begin(845,'Measure the information retained by the category projections','How many independent totals do the four marginals supply?',{},['File58 nine-row ledger; C843–844'])
rows=json.loads((ROOT/'model/Esau_joint_measurements.json').read_text())['rows']
a=[[int(x['purity']=='clean') for x in rows],[int(x['purity']=='unclean') for x in rows],[int(x['sex']!='male') for x in rows],[int(x['sex']=='male') for x in rows]]
m=[[F(x) for x in r] for r in a];rank=0
for col in range(9):
    piv=next((i for i in range(rank,4) if m[i][col]),None)
    if piv is None:continue
    m[rank],m[piv]=m[piv],m[rank];z=m[rank][col];m[rank]=[x/z for x in m[rank]]
    for i in range(4):
        if i!=rank:
            z=m[i][col];m[i]=[x-z*y for x,y in zip(m[i],m[rank])]
    rank+=1
    if rank==4:break
finish(s,{'incidence_matrix':a,'rank':rank,'kernel_dimension_on_unrestricted_nine_counts':9-rank,'row_relation':'clean+unclean=female+male'},'The four totals contain three independent linear measurements of nine source counts. Six numerical directions are invisible to these marginals; species, order and individual counts remain necessary source data.','Regenerate the complete source-admitted clean category-order walk.',{'rank3':rank==3,'row_relation':all(a[0][j]+a[1][j]==a[2][j]+a[3][j] for j in range(9))})

Linked sources and evidence

Edition and provenance

s845.py

SHA-256 d9cb53b45a546f43609ad7ed4e3728c323482c79422e9a29a4667c60baa50274

C480–C1634/Research_Cycles/C0832_C0931/evidence/s845.py