question: public void init ( double [ ] [ ] arr , int r , int c ) throws DMLRuntimeException { if ( sparse ) throw new DMLRuntimeException ( "MatrixBlockDSM.init() can be invoked only on matrices with dense representation." ) ; if ( r * c > rlen * clen ) throw new DMLRuntimeException ( "MatrixBlockDSM.init() invoked with too large dimensions (" + r + "," + c + ") vs (" + rlen + "," + clen + ")" ) ; allocateDenseBlock ( ) ; for ( int i = 0 , ix = 0 ; i < r ; i ++ , ix += clen ) System . arraycopy ( arr [ i ] , 0 , denseBlock , ix , arr [ i ] . length ) ; recomputeNonZeros ( ) ; }
target:  NOTE: This method is designed only for dense representation.