triangular analysis