有没有一种方法可以计算复杂矩阵的行列式?

F4<-matrix(c(1,1,1,1,1,1i,-1,-1i,1,-1,1,-1,1,-1i,-1,1i),nrow=4)
det(F4)
Error in determinant.matrix(x, logarithm = TRUE, ...) :
  determinant not currently defined for complex matrices

library(Matrix)
 determinant(Matrix(F4))
Error in Matrix(F4) :
  complex matrices not yet implemented in Matrix package
Error in determinant(Matrix(F4)) :
  error in evaluating the argument 'x' in selecting a method for function 'determinant'

最佳答案

如果您使用prod(eigen(F4)$ values)
我建议
prod(eigen(F4, only.values=TRUE)$values)反而。

请注意,qr()提倡使用,如果您只对感兴趣,请使用。
绝对值或Mod():

 prod(abs(Re(diag(qr(x)$qr))))

给出Mod(determinant(x)){在X = QR,| det(Q)| = 1且R的对角线是实数(至少在R中)。}

顺便说一句:你注意到警告了吗



在帮助(行列式)页面上?

关于r - R中的复矩阵的行列式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3283152/

10-09 20:19