Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cuthill-mckee

A bandwidth reducing preconditioner for sparse matrices


Version published
Weekly downloads
224
increased by47.37%
Maintainers
1
Weekly downloads
 
Created

cuthill-mckee

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:

BEFORE:

AFTER:

example

var coeffs = [
  [0, 0, 1],
  [0, 2, 3],
  [1, 1, 1],
  [2, 2, 1]
]

var perm = require('cuthill-mckee')(coeffs, 3)

console.log(perm)

install

npm i cuthill-mckee

usage

require('cuthill-mckee')(list, n)

This module takes the coefficients of a sparse matrix as input and gives permutation which reduces the fill-in (or bandwidth) of the matrix.

  • list is a list of matrix coefficeints
  • n is the number of rows & columns in the matrix

Returns A permutation encoded as an array which preconditions the matrix.

license

(c) 2015 Mikola Lysenko. MIT

FAQs

Package last updated on 24 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts