public static void main(String[] args) {
double[][] array2D_64F = {{1}, {2}};
double[] array1D_64F = {1, 2};
float[] array1D_32F = {1, 2};
DoubleMatrix line = new DoubleMatrix(array2D_64F);
DoubleMatrix pixel = new DoubleMatrix(array2D_64F);
DoubleMatrix matrixA_64F = constructDesignMatrix(line, pixel, 2);
double[][] arrayA = constructDesignMatrix_loop(array1D_64F, array1D_64F, 2);
System.out.println("ArrayUtils = " + ArrayUtils.toString(arrayA));
System.out.println("difference = " + matrixA_64F.sub(new DoubleMatrix(arrayA)).toString());
logger.info("Testing Double Map");
TIntObjectHashMap<double[]> mapA_64F = constructDesignMatrix_DoubleMAP(array1D_64F, array1D_64F, 2);
System.out.println("Map = " + ArrayUtils.toString(mapA_64F.values()));
logger.info("Testing Float Map");
TIntObjectHashMap<float[]> mapA_32F = constructDesignMatrix_FloatMAP(array1D_32F, array1D_32F, 2);
System.out.println("Map = " + ArrayUtils.toString(mapA_32F.values()));
logger.info("Testing Trove Float Map");
TIntObjectHashMap<float[]> mapA_32F_Trove = constructDesignMatrix_Trove(new TFloatArrayList(array1D_32F), new TFloatArrayList(array1D_32F), 2);
System.out.println("Map = " + ArrayUtils.toString(mapA_32F_Trove.values()));
}