Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikolalysenko/cuthill-mckee
Bandwidth reducing preconditioner for sparse matrices
https://github.com/mikolalysenko/cuthill-mckee
Last synced: about 2 months ago
JSON representation
Bandwidth reducing preconditioner for sparse matrices
- Host: GitHub
- URL: https://github.com/mikolalysenko/cuthill-mckee
- Owner: mikolalysenko
- License: mit
- Created: 2015-12-20T18:54:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-20T18:56:06.000Z (about 9 years ago)
- Last Synced: 2024-10-20T14:27:56.461Z (2 months ago)
- Language: JavaScript
- Size: 238 KB
- Stars: 6
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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
```javacript
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