Reading this paper, I came across a reference to the “inverse subset algorithm,” in the context of efficiently calculating the gradient of the log-determinant of a sparse symmetric matrix (Section 4.1, Equation 8 and immediately below). I’m not familiar with it, and before going down a total rabbit hole, I was wondering if it’s already implemented or otherwise available anywhere in the Julia ecosystem?

OK, one rabbit hole later, it seems the answer to my question is “no.” There is an implementation buried in SuiteSparse here, but it does not seem to be exposed in Julia’s SparseArrays.LibSuiteSparse. There is also an R package “sparseinv” that appears to wrap that code.