class SubMatrix implements Cloneable {

    public DataBlock diagonal() {
        int n = Math.min(m_nrows, m_ncols), inc = m_row_inc + m_col_inc;
        return new DataBlock(m_data, m_start, m_start + inc * n, inc);
    }

    public  SubMatrix(final double[] data, final int nrows, final int ncols);
    public  SubMatrix(final double[] data, final int start, final int nrows,
            final int ncols, final int rowinc, final int colinc);
    public  SubMatrix(final SubMatrix m);

}