矩阵的乘法运算法则
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵的乘法运算法则相关的知识,希望对你有一定的参考价值。
参考技术A矩阵的乘法运算法则有以下:
乘法结合律:(AB)C=A(BC);乘法左分配律:(A+B)C=AC+BC;
乘法右分配律:C(A+B)=CA+CB;对数乘的结合性k(AB)=(kA)B=A(kB)。
矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数和第二个矩阵的行数相同时才有意义。一般单指矩阵乘积时,指的便是一般矩阵乘积。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。
矩阵的相关概念:
1、行矩阵、列矩阵:m×n阶矩阵中,m=1,称为行矩阵,也称为n维行向量;n=1,称为列矩阵,也称为m维列向量。
2、零矩阵:所有元素都为0的m×n阶矩阵。
3、n阶方阵:m×n阶矩阵A中,m=n; n阶方阵A,可定义行列式记为|A|; n阶方阵存在主对角线及主对角线元素。
4、单位矩阵:主对角线上的元素都为1,其余元素均为0的n阶方阵称为n阶单位矩阵,记为E。
5、对角形矩阵:非主对角线上的元素全为0的n阶方阵称为对角形矩阵。
6、数量矩阵:n阶对角形矩阵主对角线上元素相等时,称为数量矩阵。
7、上(下)三角形矩阵:n阶方阵中,主对角线下方元素全为零,称为上三角矩阵;主对角线上方元素全为零,称为下三角矩阵。
R语言的一些矩阵运算
参考技术A 摘自: https://www.cnblogs.com/yupeter007/p/5325575.html矩阵的存储默认是按列进行存储的
matrix (data = NA, nrow = 1, ncol = 1, byrow =FALSE, dimnames = NULL)
创建一个c(1:12)的三行四列的矩阵,
colnames<-c("c1","c2","c3","c4")
rownames<-c("r1","r2","r3")
x<-matrix(1:12,nrow=3,ncol=4,byrow=TRUE,dimnames=list(rownames,colnames))
x
c1 c2 c3 c4
r1 1 2 3 4
r2 5 6 7 8
r3 9 10 11 12
y<-t(x)
若是针对的是一个向量
y<-(1:10)
装置后得到的是行向量
[1] "matrix"
若要的到列向量则
matrix(rnorm(100),nrow=10)
matrix(2,ncol=n,nrow=m)
4.1创建对角矩阵
diag(x,ncol=n,nrow=m)
若x为矩阵 则diag(x)将会提取矩阵x的对角,则返回的是向量值
返回的是以矩阵对角的对角矩阵
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1
n<-ncol
m<-nrow
为矩阵的行和列命名
rownames(x)<-c()
colnames(x)<c()
A为m×n矩阵,c>0,在R中求cA可用符号:“*”,例如:
A为m×n矩阵,B为n×k矩阵,在R中求AB可用符号:“%*%”,例如:
对矩阵求逆
方法一:直接用solve(x)
方法二:加载包MASS
library(MASS)
ginv(matrix)
向量的内积
x<-c(1:5)
y<-c(3:7)
向量的外积
向量、矩阵的外积(叉积)
设x和y是n维向量,则x%o%y表示x与y作外积.
, , 2, 1
[,1] [,2] [,3] [,4]
[1,] 2 8 14 20
[2,] 4 10 16 22
[3,] 6 12 18 24
, , 1, 2
[,1] [,2] [,3] [,4]
[1,] 3 12 21 30
[2,] 6 15 24 33
[3,] 9 18 27 36
, , 2, 2
[,1] [,2] [,3] [,4]
[1,] 4 16 28 40
[2,] 8 20 32 44
[3,] 12 24 36 48
outer()是更为强大的外积运算函数,outer(x,y)计算向量x与y的外积,它等价于x %o%y
函数。outer()的一般调用格式为
outer(x,y,fun=”*”)
det(x),求矩阵x的行列式值
qr(x)$rank求x矩阵的秩
解线性方程组和求矩阵的逆矩阵
以上是关于矩阵的乘法运算法则的主要内容,如果未能解决你的问题,请参考以下文章