For the linear system $\mathbf A \mathbf x = \mathbf b$ generated from 2D Poisson equation using the standard central finite difference method,
$$ \mathbf A = \begin{bmatrix} \mathbf K & -\mathbf I \\ -\mathbf I & \mathbf K & -\mathbf I \\ & -\mathbf I & \mathbf K & -\mathbf I \\ & & \ddots & \ddots & \ddots \end{bmatrix} $$ where $\mathbf I$ is the identity matrix and $\mathbf K$ is the tridiagonal matrix with stencil $[-1 \ 4 \ -1]$.

With Matlab backslash, does anyone know what reordering algorithm matlab will use to solve this sparse system?

And in general, how matlab decide wihch reordering algorithm to use?

  • 2
    $\begingroup$ Matlab will likely use (a) minimum degree (MMD) orderings with QR-based \ and /, or (b) COLAMD ordering with the LU-based \ and /, or (c) AMD with Cholesky-based \ and /. Source: the sparse matrix docs and the help page for spparms. To disable the default preordering, run spparms('autoamd',0); spparms('autommd',0). $\endgroup$ – GoHokies Jan 12 '18 at 21:01
  • $\begingroup$ @GoHokies Thanks, it helps a lot $\endgroup$ – user123 Jan 14 '18 at 3:39

@gohokies has already given the correct answer in a comment, but just for more context: Matlab backslash calls the UMFPACK (now SuiteSparse) solver for sparse linear systems. The default ordering used by UMFPACK is indeed the Approximate Minimum Degree (AMD) method, or a variation thereof.


Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.