public static double [ ] [ ] appendColumns ( final double [ ] [ ] m1 , final double [ ] [ ] m2 ) { final int columndimension = getColumnDimensionality ( m1 ) ; final int ccolumndimension = getColumnDimensionality ( m2 ) ; assert m1 . length == m2 . length : "m.getRowDimension() != column.getRowDimension()" ; final int rcolumndimension = columndimension + ccolumndimension ; final double [ ] [ ] result = new double [ m1 . length ] [ rcolumndimension ] ; for ( int i = 0 ; i < rcolumndimension ; i ++ ) { // FIXME: optimize - excess copying! if ( i < columndimension ) { setCol ( result , i , getCol ( m1 , i ) ) ; } else { setCol ( result , i , getCol ( m2 , i - columndimension ) ) ; } } return result ; }
Returns a matrix which consists of this matrix and the specified columns .