  void reduceLatticeBasis(BigIdeal& basis) {
    ASSERT(!basis.empty());
    string filename = "__4ti2.tmp";

    unsigned int rowCount = basis.size();
    unsigned int columnCount = basis[0].size();

    writeLatticeBasis(filename, basis);
    stringstream cmd;
    cmd << "~/Desktop/fplll-1.3/fast m "
	<< rowCount << ' ' << columnCount
	<< " < " + filename
	<< " > " + filename + ".out";
    system(cmd.str().c_str());

    readLatticeBasis(filename + ".out", rowCount, columnCount, basis);
  }
