code: function() {
              	var M = this.toRightTriangular(), rank = 0;
              	var i = this.elements.length, nj = this.elements[0].length, j;
              	while (i--) {
              	    j = nj;
              	    while (j--) {
              		if (Math.abs(M.elements[i][j]) > sylvester.precision) { rank++; break; }
              	    }
              	}
              	return rank;
                  }
docs: Returns the rank of the matrix