首页 > 代码库 > 关于矩阵计算的java 代码实现----笔记

关于矩阵计算的java 代码实现----笔记

最近学习hadoop, 很多算法需要利用到矩阵计算,,例如: 协同过滤,pagerank 等等

所以练习一下,

	public  static void m1() {
		// 根据矩阵乘法的规则,a[4 *3]  * b[3,2],
		// 将会得到一个r [4 *2] 的新矩阵  
		//  r[i][j] = a[i][0] * b[0][j] + 
		//            a[i][1] * b[1][j] +
		//            a[i][2] * b[2][j]
		
		int[][] a = new int[][] { 
				{ 1, 2, 3 }, 
				{ 4, 5, 6 }, 
				{ 7, 8, 9 },
				{ 1, 2, 3} };
		
		int [][] b = new int[][]{
				{1,2},
				{3,4},
				{5,6} } ;
		
		int [][] r = new int[4][2];
		
		int tmp =0;
		
		// 结果集的列数, 多少列,就代表需要遍历a 矩阵多少次
		for ( int k =0; k < r[0].length; k++) {
			// 双重循环,遍历 a 矩阵
			for (int i = 0; i< a.length; i++ ) {
				tmp = 0;
				// 每一行的结果,对应结果集中的一个元素
				for (int j = 0; j < a[0].length; j++) {
					tmp += a[i][j] * b[j][k] ;
					
					
				}
				r[i][k]=tmp;
			}
		}

		for (int i = 0; i < r.length; i++) {
			for (int j = 0; j < r[0].length; j++) {
				System.out.print(r[i][j] + "\t");
			}
			System.out.println();
			
		}
	}
	


本文出自 “流浪的脚步” 博客,谢绝转载!

关于矩阵计算的java 代码实现----笔记