time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

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);