Socket
Book a DemoInstallSign in
Socket

ndarray-ldl-factorization

Package Overview
Dependencies
Maintainers
6
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ndarray-ldl-factorization

LDL Decomposition for ndarrays

latest
Source
npmnpm
Version
2.0.1
Version published
Maintainers
6
Created
Source

ndarray-ldl-factorization

NPM version Build Status Dependencies

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. 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 = 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' );

/*  
   9.000   -1.000    2.000
  -1.000    8.000   -5.000
   2.000   -5.000    7.000
*/

console.log( 'L:\n' + show(L) );

/*
   1.000   -0.111    0.222
   0.000    1.000   -0.606
   0.000    0.000    1.000
*/

console.log( 'd:\n' + show(d) );

/*
 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

MIT license.

Copyright © 2015. Philipp Burckhardt.

Keywords

ndarray

FAQs

Package last updated on 27 Jul 2015

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