Schur complement trick for positive semi-definite energies

Alec Jacobson

June 13, 2014

weblog/

schur complement trick

I've posted a technical report which details a way to utilize the famous "Schur complement trick" for positive semi-definite energies.

The basic idea is to shave off enough rows and columns of the system matrix to make it non-singular, add just treat these rows and columns as if they were part of the blocks coming from the Lagrange multipliers.

This trick is useful for quadratic energy minimization subject to linear equality constraints. In particular, when you have a fixed energy with a small number of changing constraints. Especially if the number of constraints is small and also changing: constraints can be edited, added, or deleted. Then the bulk of the solving work can be done as precomputation and only substitution and small dense solve is needed at solve time.

Such situations arise in geometry processing when the system matrix is the Laplace or Laplace-Beltrami operator and the problem is minimizing Dirichlet energy subject to some yet to be determined boundary conditions or constraints. For a mesh with n vertices, the discrete Laplace operator is rank n-1, so only one row and column need to be moved.