文档章节

矩阵乘法和矩阵的幂

 笨拙的小Q
发布于 2016/08/13 21:56
字数 325
阅读 33
收藏 1
点赞 0
评论 0

1、通常用二维数组表示一个矩阵。求矩阵M和矩阵N相乘,要求M的列和N的行相等,即矩阵M的列数等于

M[0].length;矩阵N的行数等于N.length;即M[0].length=N.length时,两个矩阵才能进行乘法运算,否则不能相乘,得到的结果是M.length行N[0].length列的。下面是求两个矩阵相乘的代码:

public class Test {
	public static void main(String[] args) {
		int[][]m = {{2,2},{2,2}};
		int[][]n = {{2,2,2},{3,3,3}};
		int[][]res = mutilMatrix(m, n);
		for(int i=0;i<res.length;i++){
			for(int j=0;j<res[0].length;j++){
				System.out.print(res[i][j]+" ");
			}
			System.out.println();
		}
	}
	
	public static int[][] mutilMatrix(int[][]m,int[][]n){//矩阵乘法。
		int[][]res = new int[m.length][n[0].length];
		for(int i=0;i<m.length;i++){
			for(int j=0;j<n[0].length;j++){
				for(int k=0;k<n.length;k++){
					res[i][j]+=m[i][k]*n[k][j];
				}
			}
		}
		return res;
	}
}
结果为:
10 10 10 
10 10 10 

2、矩阵M的P次幂

public static int[][] matrixPower(int[][]m,int p){
		int[][]res = new int[m.length][m[0].length];
		//先将结果矩阵设为单位阵,一个矩阵乘以单位阵等于这个矩阵本身。
		for(int i=0;i<m.length;i++){
				res[i][i] = 1;
		}
		int[][]temp = m;
		while(p!=0){
			if(p==1){
				res = mutilMatrix(res, temp);
				p = 0;
			}
			temp = mutilMatrix(temp, temp);
			p = p/2;
		}
		/*for(;p!=0;p>>=1){
			if((p&1)!=0){
				res = mutilMatrix(res, temp);
			}
			temp = mutilMatrix(temp, temp);
		}*/
		return res;
	}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 30
码字总数 27842
作品 0
南京
bzoj2510 弱题 【期望dp+循环矩阵快速幂】

解题思路: 很容易想到每一轮的dp方程: 考虑矩阵快速幂,可以 求解,但仍会TLE。 注意到转移矩阵是一个循环矩阵,即每一行都是上一行平移一格得到(列也是如此),而循环矩阵的性质有: 所以我...

cdsszjj ⋅ 01/05 ⋅ 0

【译】RNN的正交初始化insight

引言 rnn网络在使用过程中最受影响的问题就是其梯度消失和梯度爆炸,同时现在又很多方法来应对这两个缺陷,比如通过梯度裁剪来解决梯度爆炸问题,以及使用更复杂的单元结构像GRU和LSTM来缓解...

柳枫 ⋅ 2017/09/03 ⋅ 0

矩阵快速幂之矩阵构造思想(转)

原文链接 博主写的很好 (转给师弟师妹们看~) 快速幂的思想: 假设我们要求a^b,最朴素的方法就是不断地乘a,乘b次,复杂度O(b)。 如果b很大,10^9,就需要用快速幂的思想。 例:a=3,b=100...

akatsuki__itachi ⋅ 05/24 ⋅ 0

BASIC-17 基础练习 矩阵乘法

  例如:   A =   1 2   3 4   A的2次幂   7 10   15 22   接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 1 2 3 4 15 22 思路解析: 1.由题意可知,这是一个 ...

xnh_565175944 ⋅ 05/10 ⋅ 0

算法设计与分析之分治思想

算法基础 问题求解的关键 算法+数据结构=程序 好的算法 算法的研究目标 算法 算法A解问题P 把问题P的任何势力作为算法A的输入 每步计算是确定性的 A能够在有限步停机输出该实例的正确的解 算...

wenhui12345 ⋅ 2017/11/05 ⋅ 0

深度学习中的基础线性代数-初学者指南

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 作者介绍:Brendan Fortuner 是一名在西雅图的亚马逊的软件工程师,目前自己在人工智能方面进行研究。 上过Jeremy Howard的深度...

【方向】 ⋅ 2017/03/29 ⋅ 0

强化学习[理论前奏]——动态规划

Preface 本人最近在做强化学习的内容,我发现强化学习基础当中马尔科夫决策过程(MDP)的求解(策略迭代,值迭代)与算法基础当中的动态规划密切相关。但由于本人在本科阶段没有认真看算法导...

Salon_sai ⋅ 2017/09/15 ⋅ 0

数学基础(一)之矩阵的基本概念

1. 矩阵和向量 1.1 矩阵 这个是4x2的矩阵,即4行2列。矩阵的维度即行数乘以列数。 矩阵的元素(矩阵项): Ai,j 指第i行,第j列的元素。 1.2 向量 向量是一种特殊的矩阵,此处我们一般指列向...

huwh_ ⋅ 2017/12/31 ⋅ 0

这是一份文科生都能看懂的线性代数简介

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

孟飞阳 ⋅ 04/20 ⋅ 0

MPI - 消息传递接口

MPI是一种消息传递库规范。接口规范已经在C/c++和Fortran程序中定义好了。提供的示例使用了C语言和LAM/MPI。LAM/MPI是一种高质量消息传递接口(MPI)的实现。 例1:demo.c #include "mpi.h" i...

迷途d书童 ⋅ 2012/07/08 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

sbt网络问题解决方案

http://dblab.xmu.edu.cn/blog/maven-network-problem/

狐狸老侠 ⋅ 7分钟前 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 50分钟前 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 56分钟前 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部