over-determined

by Rebecca Chen

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js"></script>

JavaScript

// Linear algebra example. (over-determined case)

// x     = 1
// x + y = 2
//     y = -1
//
// [ 1 0 ] [x]   [ 1]
// [ 1 1 ] [ ] = [ 2]    
// [ 0 1 ] [y]   [-1]

var A = [
  [1,0],
  [1,1],
  [0,1]
];

var At = numeric.transpose (A);
var AtA = numeric.dot (numeric.transpose(A),A);

var x = numeric.dot (numeric.dot (numeric.inv (AtA), numeric.transpose(A)), [1,2,-1]);