## Basic objects

The basic objects are of three types: weighted (WBO), tagged (TBO) and simple (SBO). Any basic object is associated to a chart U.

A weighted basic object is described by the following data:

N
a list of indices to IND that define the ambient algebraic set W of the basic object (in U),
J
a list of pairs [poly, exp], which are the generators for the generalized ideal of the basic object (poly is a representative of a k[U] element, exp is a nonnegative rational number),
E
the list of exceptional divisors, given as:
• a list of equations if the configuration variable usenctest or skewcover is true,
• a list of indices to the IND member of U otherwise.
C
a list of lists of the same length as IND of the chart U of nonnegative rational numbers (the positive members indicate the history of J modificators).
c
a rational number (the quotient of the order of the proper transform within the singular locus of the WBO and b, the required order),
a
a list of nonnegative rational numbers with the same length as E (the weights of the exceptional divisors),
type
a integer value, which is 0 in case of a WBO, 1 in case of a TBO, and 2 for an SBO.

A TBO has the same entries as a WBO except the entries: a, c; plus the entry:

EM
the list of exceptional divisors of E-, given as a sublist of E.

An SBO is described as a WBO except the entries: a, c; plus the entry:

H
the exceptional divisors of the TBO of the same dimension, whose intersection restricts the blowing up center, given in the same way as E.

Additional data is stored in each basic object to avoid the computation of the singular locus whenever possible:

SET
a list of polynomials from k[U], the generators of the ideal of the singular locus of the basic object within W,
SL
a list of polynomials from k[S], the Gröbner basis of SET+H+N+DEP.
These data are used to hold the singular locus of the basic object with the corresponding Gröbner basis until we need to recompute them. It helps in situations like testing the emptiness of the singular locus, what we have to do several times in the algorithm. Whenever an operation induces a geometric change in the basic object or in the chart, we need to invalidate the stored data asking for recomputation at the point where we need them.   