Could you elaborate more in terms of my code? What should I do if I need to SolveTriagular twice within one forward computation?
# pytorch
    L = Variable(th.from_numpy(np.tril(init_K)), requires_grad=True)
    d = Variable(th.from_numpy(np.array([[1.],[2],[3]])), requires_grad=False)
    alpha = SolveTrianguler(lower=True)(L, d)
    # alpha.register_hook(print_grad) - not working here!
    alpha2 = SolveTrianguler(lower=False)(L.t(), alpha)
    # alpha2.register_hook(print_grad)
    y = th.sum(alpha2)
    y.backward()