def LU(data):
        ld = data[0, :-2]
        d = data[1, :]
        ud = data[2, 2:]
        n = d.shape[0]
        for i in range(2, n):
            ld[i-2] = ld[i-2]/d[i-2]
            d[i] = d[i] - ld[i-2]*ud[i-2]