The reverse Cuthill-Mckee method is a fast and effective preconditioner for reducing the bandwidth of sparse linear systems. When solving a positive semidefinite linear system using Cholesky factorization, it greatly reduces fill-in. For example, here is the Laplacian matrix of the Stanford bunny:
var coeffs = [[0, 0, 1],[0, 2, 3],[1, 1, 1],[2, 2, 1]]var perm = require('cuthill-mckee')(coeffs, 3)console.log(perm)
npm i cuthill-mckee
This module takes the coefficients of a sparse matrix as input and gives permutation which reduces the fill-in (or bandwidth) of the matrix.
listis a list of matrix coefficeints
nis the number of rows & columns in the matrix
Returns A permutation encoded as an array which preconditions the matrix.
(c) 2015 Mikola Lysenko. MIT