private void printResults(ClusteringResults<Double> results, Map<Integer,String> statesMap, Map<Integer,String> clustersMap) {

		
		ClusteringExternalPerformances<Double> performances = new ClusteringExternalPerformances<Double>( statesMap, clustersMap);
		performances.addResults( results.getClusterizedTrajectories());
		
		System.out.println("Clustes vs Partitions");
		double[][] counts = performances.getClustersPartitionsMatrix();
		for(int i = 0; i < performances.clusterNumber(); ++i) {
			for(int j = 0; j < performances.classesNumber(); ++j)
				System.out.println("[" + performances.indexToCluster(i) + "," + performances.indexToValue(j) + " = " + counts[i][j] + "]");
			System.out.println();
		}
		
		System.out.println("Precision matrix");
		double[][] p = performances.getPrecisionMatrix();
		for(int i = 0; i < performances.clusterNumber(); ++i) {
			for(int j = 0; j < performances.classesNumber(); ++j)
				System.out.println("[" + performances.indexToCluster(i) + "," + performances.indexToValue(j) + " = " + p[i][j] + "]");
			System.out.println();
		}
		
		System.out.println("Recall matrix");
		double[][] r = performances.getRecallMatrix();
		for(int i = 0; i < performances.clusterNumber(); ++i) {
			for(int j = 0; j < performances.classesNumber(); ++j)
				System.out.println("[" + performances.indexToCluster(i) + "," + performances.indexToValue(j) + " = " + r[i][j] + "]");
			System.out.println();
		}
		
		System.out.println("F-Measure matrix");
		double[][] f = performances.getFMeasureMatrix();
		for(int i = 0; i < performances.clusterNumber(); ++i) {
			for(int j = 0; j < performances.classesNumber(); ++j)
				System.out.println("[" + performances.indexToCluster(i) + "," + performances.indexToValue(j) + " = " + f[i][j] + "]");
			System.out.println();
		}		
		
		System.out.println("Clustes vs Partitions");
		double[][] assM = performances.getAssociationMatrix();
		printMatrix(assM);
		
		System.out.println("R = " + performances.getRandStatistic());
		System.out.println("J = " + performances.getJaccardCoefficient());
		System.out.println("FM = " + performances.getFolkesMallowsIndex());
		
	}