Go backward to Requirements
Go up to User manual
Go forward to An alternative way to resolve reducible algebraic sets
The program provides an embedded desingularization of a given affine scheme embedded into some regular variety in n-dimensional affine or projective space. This functionality can be reached in the simplest case by the procedure dloc for the resolution of the singularities of an affine scheme. It expects the following parameters:
Since the program has to generate new names for newly introduced variables, we have to be careful to avoid name collisions. Therefore, we require that the variables generated by the pattern xi are reserved for the program. The input problem has to be expressed by the first n variables, so that the rest becomes available for the program.
The output of this function is a list of charts, which is the same as the value of the global variable resolvedChartList. These charts cover the last blowing up variety in the resolution process, over which the embedded scheme is resolved. The corresponding members of the record of a chart are fully described in section *.
The whole tree of the resolution is kept in the global variable chartHistory. To not generate this history, for instance to save memory, one has to set the configuration variable dropHistory to true (by default it is false) before starting the computation.
There is an additional routine to set up customized weighted basic objects and charts for resolution. The procedure is dlocBO and its full description can be found in section *.
Remark: We optimize, to a certain extent, the covering of the blowing up variety by dropping some unnecessary charts. The selection strategy relies on the FOCUS entries of the charts (for more information see [Bod00][BS01]). The FOCUS entry of the initial chart record is set to be the generator(s) of the defining ideal J of the input scheme. This means that we might need an additional chart to completely cover the resulting blowing up variety, which contains everything outside the zero set of J. This chart is not generated by the algorithm, because it is uninteresting; it contains no point of the input scheme.
If one wants to resolve a projective variety via the resolution of its restrictions to the principal affine subsets of the projective space, one has to use the procedure dlocpdh. Its resolution data will be collected in chartHistorypdh for the resolutions over the principal open subsets. The adjointspdh procedure is then capable of processing this as input, returning the adjoints for the projective hypersurface (see section *).
If the input is an affine scheme of codimension >1 and not only the resolution of the singularities, but also the principalization of the defining ideal has to be computed the procedure dlocpr is to be called.
For debugging purposes a configuration variable, desingDebug, was created (which is false by default). When this flag is set to true, the program writes the data of the currently processed chart to the standard output on every major step of the computation. This feature is to be used in batch mode, when the standard output is redirected to a file.
To compute the adjoints vector space of a hypersurface, first one has to compute its resolution such that chartHistory contains the full data of the resolution, and the value of globalChartCounter is the number of chart records in chartHistory. The full description of the adjoints procedure can be found in *.
With the dualgraph procedure, one can compute the dual hypergraph of a given resolution, which is stored in chartHistory. The full description of the procedure can be found in section *.
The blunify procedure computes the "unification" of the sequence of blowing ups of a resolution, stored in chartHistory. More precisely, it returns a set of generators for an ideal in the coordinate ring of the ambient variety of the input problem, such that the blowing up of that ideal results an isomorphic variety of the last blowing up variety of the resolution. Or in other terms, the ideal encodes the sequence of blowing ups made in the resolution of the input scheme.