var n = this.dimensions().rows; 
var n = this.rows(); 
    this.inverse = function() {      var i, j;      if (this.isSquare() && !this.isSingular()) {        var n = this.dimensions().rows;        var M = this.augment(Matrix.I(n));        M.diagonalize(); // Matrix is non-singular so there will be no zeros on the diagonal        for (i = 1; i <= n; i++) {          M.elements[i - 1] = M.row(i).x(1 / M.e(i,i)).elements;        }        for (i = n; i > 1; i--) {          for (j = 1; j < i; j++) {            M.elements[j - 1] = M.row(j).subtract(M.row(i).x(M.e(j,i))).elements;          }        }        return M.minor(1, n+1, n, n);      } else {        return null;      }    };
3123	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3123/5342f77e527065daffa19bf795180e4a4cdb069b/jsmetric.src.js/clean/jsmetric.src.js