private double [ ] [ ] getAugmentedData ( double [ ] [ ] x ) { double [ ] [ ] ret = new double [ x . length + p ] [ p ] ; double padding = c * Math . sqrt ( lambda2 ) ; for ( int i = 0 ; i < x . length ; i ++ ) { for ( int j = 0 ; j < p ; j ++ ) { ret [ i ] [ j ] = c * x [ i ] [ j ] ; } } for ( int i = x . length ; i < ret . length ; i ++ ) { ret [ i ] [ i - x . length ] = padding ; } return ret ; }
transform the original data array by padding a weighted identity matrix and multiply a scaling