2010-07-19 46 views
6

Có cách nào để tính toán yếu tố quyết định của ma trận phức tạp không?Xác định ma trận phức tạp trong R

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' 

Trả lời

3

Nếu bạn biết rằng đa thức đặc trưng của một ma trận A chia thành các yếu tố tuyến tính, sau đó det (A) là sản phẩm của các giá trị riêng của A, và bạn có thể sử dụng eigen chức năng giá trị như this để làm việc xung quanh của bạn vấn đề. Tôi nghi ngờ bạn vẫn muốn một cái gì đó tốt hơn, nhưng điều này có thể là một sự khởi đầu.

+0

Hiện tại, tôi cũng sử dụng sản phẩm (giá trị eigen (F4)) –

4

Nếu bạn sử dụng sản (eigen (F4) $ giá trị) tôi khuyên bạn nên prod(eigen(F4, only.values=TRUE)$values)
để thay thế.

Lưu ý rằng qr() được ủng hộ sử dụng iff bạn chỉ quan tâm đến giá trị tuyệt đối hay đúng hơn Mod():

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

cung cấp cho các Mod(determinant(x))
{Trong X = QR, | det (Q) | = 1 và đường chéo của R là thực (ít nhất là R).}

BTW: Bạn có lưu ý cảnh báo trước

Thông thường, tính toán yếu tố quyết định là không những gì bạn nên làm để giải quyết một vấn đề nhất định.

trên trang trợ giúp (định thức)?

Các vấn đề liên quan