ndarray-ldl-decomposition

LDL Decomposition for ndarrays
Installation
$ npm install ndarray-ldl-factorization
For use in the browser, use browserify.
Usage
var ldl = require( 'ndarray-ldl-factorization' );
ldl(A, L, d)
This function calculates the LDL decomposition of matrix A = LDL^t, where L is a lower-unit triangular matrix and D is a diagonal matrix. Consult the book Matrix computations (3rd ed.) by Gene H. Golub and Charles F. Van Loan for further information. The function takes L and d, the vector of diagonal elements of D, as arguments and changes them during execution. If the function completes without error, it returns true, otherwise false.
Examples
var ndarray = require('ndarray'),
show = require('ndarray-show'),
ldl = require( 'ndarray-ldl-factorization' ),
pool = require('ndarray-scratch');
var A = ndarray(new Float64Array([9,-1,2,-1,8,-5,2,-5,7]), [3,3]);
var L = pool.zeros( A.shape, A.dtype );
var d = pool.zeros( [ A.shape[0] ], A.dtype);
ldl(A, L, d);
console.log( 'A:\n' + show(A), '\n' );
console.log( 'd:\n' + show(d) );
To run the example code from the top-level application directory,
$ node ./examples/index.js
Tests
Unit
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:
$ npm test
License
MIT license.
Copyright
Copyright © 2015. Philipp Burckhardt.