for( int dir = 0; dir < 2; dir++ ) {
boolean upper = dir == 0;
for( int triangleSize = 1; triangleSize <= 9; triangleSize++ ) {
for( int cols = 1; cols <= 9; cols++ ) {
// System.out.println("triangle "+triangleSize+" cols "+cols);
BlockMatrix64F T = BlockMatrixOps.createRandom(triangleSize,triangleSize,-1,1,rand,r);
BlockMatrixOps.zeroTriangle(true,T);
if( upper ) {
T=BlockMatrixOps.transpose(T,null);
}
BlockMatrix64F B = BlockMatrixOps.createRandom(triangleSize,cols,-1,1,rand,r);
BlockMatrix64F Y = new BlockMatrix64F(B.numRows,B.numCols,r);
checkSolve(T,B,Y,r,upper,false);
checkSolve(T,B,Y,r,upper,true);
// test cases where the submatrix is not aligned with the inner