from research import *
s=begin(1020,'NT free metric family','What remains undetermined by the paired Key knot?',{},['C1019'])
from algebra import Matrix
p=json.loads((ROOT/'model/nt_knot_constraints.json').read_text());M=Matrix(p['matrix']);kernel=[list(v) for v in M.nullspace()]
finish(s,{'kernel':kernel,'metric_family':'w=69u','free_metric_dimensions':2-M.rank(),'scale_selected_by_knot_alone':False},'The knot fixes a ratio w:u=69:1 while leaving one metric scale free. Two arrows illustrate one constraint.','Add the supplied BJ trunk length and slot count.',{'kernel':kernel==[[69,1]],'one_free_scale':2-M.rank()==1})
