code: function(b) {
              	var xa = [];
  
              	for(var i = this.rows(); i > 0; i--) {
              	    var w = 0;
  
              	    for(var j = this.cols(); j > i; j--) {
              		w += this.e(i, j) * xa[this.rows() - j];
              	    }
  
              	    xa.push((b.e(i) - w) / this.e(i, i));
              	}
  
              	return $V(xa.reverse());
                  }
docs: solve an upper-triangular matrix * x = b via back substitution