R语言的一些矩阵运算

Python020

R语言的一些矩阵运算,第1张

摘自: 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,]28 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矩阵的秩

解线性方程组和求矩阵的逆矩阵

一般有以下几种方法:

1、计算A^2,A^3 找规律,然后用归纳法证明。

2、若r(A)=1,则A=αβ^T,A^n=(β^Tα)^(n-1)A

注:β^Tα =α^Tβ = tr(αβ^T)

3、分拆法:A=B+C,BC=CB,用二项式公式展开。

适用于 B^n 易计算,C的低次幂为零:C^2 或 C^3 = 0

4、用对角化 A=P^-1diagP

A^n = P^-1diag^nP

扩展资料:

将一个矩阵分解为比较简单的或具有某种特性的若干矩阵的和或乘积,矩阵的分解法一般有三角分解、谱分解、奇异值分解、满秩分解等。

在线性代数中,相似矩阵是指存在相似关系的矩阵。相似关系是两个矩阵之间的一种等价关系。两个n×n矩阵A与B为相似矩阵当且仅当存在一个n×n的可逆矩阵P。

一个矩阵A的列秩是A的线性独立的纵列的极大数目。类似地,行秩是A的线性无关的横行的极大数目。通俗一点说,如果把矩阵看成一个个行向量或者列向量,秩就是这些行向量或者列向量的秩,也就是极大无关组中所含向量的个数。

参考资料来源:百度百科——矩阵

求矩阵的秩的几种方法:

1、通过对矩阵做初等变换(包括行变换以及列变换)化简为梯形矩阵求秩。此类求解一般适用于矩阵阶数不是很大的情况,可以精确确定矩阵的秩,而且求解快速比较容易掌握。

2、通过矩阵的行列式,由于行列式的概念仅仅适用于方阵的概念。通过行列式是否为0则可以大致判断出矩阵是否是满秩。

3、对矩阵做分块处理,如果矩阵阶数较大时将矩阵分块通过分块矩阵的性质来研究原矩阵的秩也是重要的研究方法。此类情况一般也是可以确定原矩阵秩的。

4、对矩阵分解,此处区别与上面对矩阵分块。例如n阶方阵A,R分解(Q为正交阵,R为上三角阵)以及Jordan分解等。通过对矩阵分解,将矩阵化繁为简来求矩阵的秩也会有应用。

5、对矩阵整体做初等变换(行变换为左乘初等矩阵,列变换为右乘初等矩阵)。此类情况多在证明秩的不等式过程有应用,技巧很高与前面提到的分块矩阵联系密切。

扩展资料:

矩阵的秩是线性代数中的一个概念。在线性代数中,一个矩阵A的列秩是A的线性独立的纵列的极大数。通常表示为r(A),rk(A)或rank A。

在线性代数中,一个矩阵A的列秩是A的线性独立的纵列的极大数目。类似地,行秩是A的线性无关的横行的极大数目。通俗一点说,如果把矩阵看成一个个行向量或者列向量,秩就是这些行向量或者列向量的秩,也就是极大无关组中所含向量的个数。

参考资料:百度百科-矩阵的秩