lu-test.js (1166B)
1 var vows = require('vows'); 2 var assert = require('assert'); 3 var suite = vows.describe('jStat'); 4 5 require('../env.js'); 6 7 suite.addBatch({ 8 'lu decomposition': { 9 'topic': function() { 10 return jStat; 11 }, 12 'example1': function(jStat) { 13 var A = [[2, 3, 0], [0, 1, 0], [4, 6, 0]]; 14 var LU = jStat.lu(A); 15 var L = LU[0]; 16 var U = LU[1]; 17 var tol = 0.0001; 18 assert.epsilon(tol, L[0][0], 1.0); 19 assert.epsilon(tol, L[0][1], 0.0); 20 assert.epsilon(tol, L[0][2], 0.0); 21 assert.epsilon(tol, L[1][0], 0.0); 22 assert.epsilon(tol, L[1][1], 1.0); 23 assert.epsilon(tol, L[1][2], 0.0); 24 assert.epsilon(tol, L[2][0], 2.0); 25 assert.epsilon(tol, L[2][1], 0.0); 26 assert.epsilon(tol, L[2][2], 1.0); 27 assert.epsilon(tol, U[0][0], 2.0); 28 assert.epsilon(tol, U[0][1], 3.0); 29 assert.epsilon(tol, U[0][2], 0.0); 30 assert.epsilon(tol, U[1][0], 0.0); 31 assert.epsilon(tol, U[1][1], 1.0); 32 assert.epsilon(tol, U[1][2], 0.0); 33 assert.epsilon(tol, U[2][0], 0.0); 34 assert.epsilon(tol, U[2][1], 0.0); 35 assert.epsilon(tol, U[2][2], 0.0); 36 } 37 } 38 }); 39 40 suite.export(module);