Manipulations of determinants


This library is stable, but documentation is currently being written and needs a serious rereading and cleaning

The purpose of this little class is to regroup standard block manipulations on determinant, used in several algorithms.

Given a function \(F(x,y)\), and two sets of values \(x_i,y_i \ 0\leq i < N\), we can define the \(N\times N\) square matrix

\[M_{i,j} = F(x_i,y_j)\]

When adding/removing a line and column (i.e. a value of x, y), \(M^{-1}\) and \(det M\) can be fast updated using standard block matrix computations. This class implements these general operations. It contains:

  • Datas:
    • \(M^{-1}\) and \(det M\)
    • a vector containing \(x_i,y_i \ 0\leq i \leq N\)
  • Methods to quickly update \(M^{-1}\) and \(\det M\) when one:
    • adds/removes a line and a column (i.e. adding or removing one x and one y)
    • adds/removes two lines and two columns (i.e. adding or removing two x and two y)
    • changes a line/colum, etc…