# ip(v,w) = dot product of vectors # xRy(v,w) = is x related to y by the conditions I need? # XRY(V,W) = are all v in V and w in W pairwise related by xRy? (where V and W are lists of vectors) N1 = list(#of all of the vectors i am interested in#); n1 = len(N1); for vv1 in range(0,n1): for vv2 in range(0,n1): if ip(N1[vv1],N1[vv2])==0: for vv3 in range(0,n1): if ip(N1[vv1],N1[vv3])==0 and ip(N1[vv2],N1[vv3])==0: basez1 = list([N1[vv1],N1[vv2],N1[vv3]]); print basez1; print vv1,vv2,vv3; print 'basez1...................\n'; for ww1 in range(0,n1): if xRy(N1[ww1],N1[vv1]) and xRy(N1[ww1],N1[vv2]) and xRy(N1[ww1],N1[vv3]): for ww2 in range(0,n1): if ip(N1[ww1],N1[ww2])==0: if xRy(N1[ww2],N1[vv1]) and xRy(N1[ww2],N1[vv2]) and xRy(N1[ww2],N1[vv3]): for ww3 in range(0,n1): if ip(N1[ww1],N1[ww3])==0 and ip(N1[ww2],N1[ww3])==0: if xRy(N1[ww3],N1[vv1]) and xRy(N1[ww3],N1[vv2]) and xRy(N1[ww3],N1[vv3]): testbasez2 = list([N1[ww1],N1[ww2],N1[ww3]]); if XRY(basez1,testbasez2): basez2 = testbasez2; print basez2; print ww1,ww2,ww3; print 'basez2-------------------\n'; for xx1 in range(0,n1): if xRy(N1[xx1],N1[vv1]) and xRy(N1[xx1],N1[vv2]) and xRy(N1[xx1],N1[vv3]) and xRy(N1[xx1],N1[ww1]) and xRy(N1[xx1],N1[ww2]) and xRy(N1[xx1],N1[ww3]): for xx2 in range(0,n1): if ip(N1[xx1],N1[xx2])==0: if xRy(N1[xx2],N1[vv1]) and xRy(N1[xx2],N1[vv2]) and xRy(N1[xx2],N1[vv3]) and xRy(N1[xx2],N1[ww1]) and xRy(N1[xx2],N1[ww2]) and xRy(N1[xx2],N1[ww3]): for xx3 in range(0,n1): if ip(N1[xx1],N1[xx3])==0 and ip(N1[xx2],N1[xx3])==0: if xRy(N1[xx3],N1[vv1]) and xRy(N1[xx3],N1[vv2]) and xRy(N1[xx3],N1[vv3]) and xRy(N1[xx3],N1[ww1]) and xRy(N1[xx3],N1[ww2]) and xRy(N1[xx3],N1[ww3]): testbasez3 = list([N1[xx1],N1[xx2],N1[xx3]]); if XRY(basez1,testbasez3) and XRY(basez2,testbasez3): basez3 = testbasez3; print basez3; print xx1,xx2,xx3; print 'basez3=====================\n';