Beispiel #1
0
const Matrix /* or null */ *rawGBChangeOfBasis(Computation *C)
  /* Yields the change of basis matrix from the Groebner basis to
     the original generators, at least if n_rows_to_keep was set
     when creating the GB computation.  This matrix, after the
     computation has run to completion, should satisfy:
     (original matrix) = (GB matrix) * (change of basis matrix). */
{
     try {
          clear_emit_size();
          GBComputation *G = C->cast_to_GBComputation();
          if (G != 0)
            return G->get_change();
          ERROR("computation type unknown or not implemented");
          return 0;
     }
     catch (exc::engine_error e) {
          ERROR(e.what());
          return NULL;
     }
}
Beispiel #2
0
 virtual const Matrix /* or null */ *get_change() { return G->get_change(); }