ndarray-ldl-factorization
LDL Decomposition for ndarrays
Installation
$ npm install ndarray-ldl-factorization
For use in the browser, use browserify.
Usage
var ldl = ;
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. Note in particular the the upper triangular part of L
is left untouched and so is not automatically zeroed.
ldl(A)
This function calculates the in-place LDL decomposition of matrix A = LDL^t
. It is equivalent to ldl( A, A, diag(A) )
using diag = require('ndarray-diagonal')
.
Examples
var ndarray =show =ldl =pool = ;var A = ;var L = pool;var d = pool;;console;/*9.000 -1.000 2.000-1.000 8.000 -5.0002.000 -5.000 7.000*/console;/*1.000 -0.111 0.2220.000 1.000 -0.6060.000 0.000 1.000*/console;/*9.000 7.889 3.662*/
To run the example code from the top-level application directory,
$ node ./examples/index.js
Tests
Unit
Unit tests use the Tape test framework. To run the tests, execute the following command in the top-level application directory:
$ npm test
License
Copyright
Copyright © 2015. Philipp Burckhardt.