import numpy as np a=[[0.4,0.5,0.2],[0.1,0.2,0.3],[1.2,0.7,0.4]] link=[[2,0,1],[3,0,1],[4,2,3]] x=[[2,1],[3,4],[5,6],[7,8],[9,10]] e=np.zeros([5,5]) for tr in range(5): e[0][tr]=x[tr][0] e[1][tr]=x[tr][1] for eq in range(3): for tr in range(5): z=a[eq][0] for j in range(2): s1=link[eq][j+1] z=z+a[eq][j+1]*e[s1][tr] s2=link[eq][0] e[s2][tr]=z print(e)