I have a positive definite symmetric matrix that looks like
$$\pmatrix{A & 0 & 0 & E \\ 0 & B & 0 & F \\ 0 & 0 & C & G \\ E^\prime & F^\prime & G^\prime & D}$$
where matrices $A,B,C,D,$ are positive definite symmetric matrices. Is there a nice way to calculate the determinant? For example, the upper left block is block diagonal and its determinant is just det(A)*det(B). I want to find the determinant of the whole matrix though.
I have provided an example of such matrix using dput
in R. You just need to copy and paste to R for a reproducible example
require(Matrix)
new("dgCMatrix"
, i = c(0L, 1L, 6L, 7L, 0L, 1L, 6L, 7L, 2L, 3L, 6L, 7L, 2L, 3L, 6L,
7L, 4L, 5L, 6L, 7L, 4L, 5L, 6L, 7L, 0L, 1L, 2L, 3L, 4L, 5L, 6L,
7L, 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L)
, p = c(0L, 4L, 8L, 12L, 16L, 20L, 24L, 32L, 40L)
, Dim = c(8L, 8L)
, Dimnames = list(NULL, NULL)
, x = c(1.0025, 0, 0.10565, 0, 0, 1.0025, 0.00907, 0, 1.0025, 0.92905,
0.01591, 0, 0.92905, 1.0025, 0.04458, 0, 1.0025, 0, 0.69604,
0, 0, 1.0025, 0.00011, 0, 0.10565, 0.00907, 0.01591, 0.04458,
0.69604, 0.00011, 1.0025, 0, 0, 0, 0, 0, 0, 0, 0, 1.0025)
, factors = list()
)