code: @Override
      public DMatrixRMaj getLower(DMatrixRMaj lower )
      {
          int numRows = LU.numRows;
          int numCols = LU.numRows < LU.numCols ? LU.numRows : LU.numCols;
  
          lower = UtilDecompositons_DDRM.checkZerosUT(lower,numRows,numCols);
  
          for( int i = 0; i < numCols; i++ ) {
              lower.unsafe_set(i,i,1.0);
  
              for( int j = 0; j < i; j++ ) {
                  lower.unsafe_set(i,j, LU.unsafe_get(i,j));
              }
          }
  
          if( numRows > numCols ) {
              for( int i = numCols; i < numRows; i++ ) {
                  for( int j = 0; j < numCols; j++ ) {
                      lower.unsafe_set(i,j, LU.unsafe_get(i,j));
                  }
              }
          }
          return lower;
      }
docs: Writes the lower triangular matrix into the specified matrix.
  
  @param lower Where the lower triangular matrix is written to.