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)
エラーがあります