lower triangular matrix means elements which are above the diagonal are 0 ===> we need not to store them.
let your lower bound = 1, your Array is nXn, you want address of A[i][j].
1 row contains ------------>1 element ( A[1][1] )
2 row contains ------------>2 elements ( A[2][1], A[2][2] )
3 row contains ------------>3 elements ( A[3][1], A[3][2], A[3][3] )
.
.
(i-1)th row contains ------------>i-1 elements ( A[i-1][1], A[i-1][2], ............A[i-1][i-1] )
(i)th row contains ------------>i elements ( A[i][1], A[i][2], ............A[i][i] )
for reaching A[i][j], you have to cross i-1 rows ===> you are at required row
total elements up to (i-1)th row = 1+2+...+(i-1) = $\frac{(i-1)(i)}{(2)}$, you have to cross these elements to get required row
to get particular element A[i][j] in that row, you have to skip (j-1) elements.
Therefore total elements you have to skip = $\frac{(i-1)(i)}{(2)}$ + (j-1)
to get that memory = BA + ( $\frac{(i-1)(i)}{(2)}$ + (j-1) ) * ( size of element )