gi<-function(A){
p<-nrow(A)
q<-ncol(A)
rA<-qr(A)$rank
if(p==q){
if(det(A)!=0){
return(solve(A))
}}
G<-matrix(0,p,q)
P<-combn(p,rA)
Q<-combn(q,rA)
for(i in 1:(factorial(p)/factorial(rA)/factorial(p-rA))){
for(j in 1:(factorial(q)/factorial(rA)/factorial(q-rA))){
if(det(matrix(A[P[,i],Q[,j]],rA,rA))!=0){
G[P[,j],Q[,i]]<-t(solve(A[P[,i],Q[,j]]))
}
return(G)
}}
}
我做了函数来找到 A 的广义逆但是如果我输入矩阵
b<-matrix(c(1,0,-1,0,2,4,-1,2,5,1,2,3),3,4)
有错误