2015-04-26 09:51:12 -04:00

23 lines
692 B
JavaScript

var assert = require('assert'),
approx = require('../../../../tools/approx'),
math = require('../../../../index');
var cs_lu = math.import(require('../../../../lib/function/algebra/sparse/cs_lu'));
describe('cs_lu', function () {
it('should decompose matrix, 2 x 2, no symbolic ordering, array', function () {
var m = math.sparse([[2, 1], [1, 4]]);
var r = cs_lu(m, null, 1);
// L
assert.deepEqual(r.L.valueOf(), [[1, 0], [0.5, 1]]);
// U
assert.deepEqual(r.U.valueOf(), [[2, 1], [0, 3.5]]);
// P
assert.deepEqual(r.P.valueOf(), [[1, 0], [0, 1]]);
// verify
approx.deepEqual(math.multiply(r.P, m), math.multiply(r.L, r.U));
});
});