有没有一种方法可以计算复杂矩阵的行列式?
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/