function L = LTL( H, lambda ) % LTL factorize H -> L'*L exploiting branch-induced sparsity % LTL(H,lambda) returns a lower-triangular matrix L satisfying L'*L = H, % where H is a symmetric, positive-definite matrix having the property that % the nonzero elements on row i below the main diagonal appear only in % columns lambda(i), lambda(lambda(i)), and so on. This is the pattern of % branch-induced sparsity; and H and lambda can be regarded as the % joint-space inertia matrix and parent array of a kinematic tree. lambda % must satisfy 0<=lambda(i)