python3 -c "from fractions import Fraction as F L=4 def softrec(z): u=[[F(1,4)]*L for i in range(4)] for n in range(1,L): S=[] for m in range(n): s=F(0) for j in range(4): for k in range(1,m+2): s+=k*z[j][k]*u[j][m+1-k] S.append(s) for i in range(4): s=F(0) for k in range(1,n+1): s+=k*z[i][k]*u[i][n-k] for a in range(n): s-=u[i][a]*S[n-1-a] u[i][n]=s/n return u M=[[0,-1,1,-2],[0,2,1,0],[0,0,2,-1],[-2,-1,2,-1]] N=[[0,2,-1,-2],[-1,-2,-2,-2],[1,2,-2,2],[1,1,0,-1]] U=[[F(1,4)]*L for i in range(4)] V=[[F(1,4)]*L for i in range(4)] for it in range(5): Z=[] for i in range(4): A=[sum(M[i][j]*V[j][n] for j in range(4)) for n in range(L)] Z.append([F(0)]+A[:-1]) U=softrec(Z) Z=[] for j in range(4): B=[sum(U[i][n]*N[i][j] for i in range(4)) for n in range(L)] Z.append([F(0)]+B[:-1]) V=softrec(Z) print('V1',[V[j][1] for j in range(4)]) print('M V1',[sum(M[i][j]*V[j][1] for j in range(4)) for i in range(4)]) print('U2',[U[i][2] for i in range(4)]) a0=[F(-1,2),F(3,4),F(1,4),F(-1,2)] a1=[sum(M[i][j]*V[j][1] for j in range(4)) for i in range(4)] w=softrec([[F(0),a0[i],a1[i]] for i in range(4)]) print('direct2',[w[i][2] for i in range(4)])"