As discussed briefly in Section Aside: Types of Schemes, there are a number of different increasingly specialised data types for schemes. It is often useful to check whether a given scheme can be thought of as belonging to one of these more specialised classes, and if so and appropriate then actually making the type change. In this section we document a number of such type-checking and type-change intrinsics, most of which are of the form IsSpecialisedType. These intrinsics always return a boolean value. If that value is true then they may also return a new scheme of the given specialised type, although in some trivial cases this does not happen. Of course, each of the different types of scheme has its own methods of construction independently of these intrinsics.
Returns true if and only if the scheme X is an affine space.
Returns true if and only if the scheme X is a projective space. Projective space here includes the case of scrolls.
Returns true if and only if the scheme X is a projective space in the usual sense: its coordinate ring has a single grading in which all the variables have weight one.
Return true if the scheme X is an ambient space.
Returns true if and only if the scheme X is a zero-dimensional scheme (but not the empty scheme). See Section Zero-dimensional Schemes for intrinsics which apply to clusters.
Returns true if and only if X is a one-dimensional scheme. See Chapter ALGEBRAIC CURVES for intrinsics which apply to curves.
Returns true if and only if X is a one-dimensional scheme defined by a single equation in a two-dimensional ambient space.
Returns true if and only if the scheme X is a curve (in the sense of IsCurve(X)) which is nonsingular and defined by an equation of degree 2. See Chapter RATIONAL CURVES AND CONICS for intrinsics which apply to such conics.
Returns true if and only if the scheme X is a curve (in the sense of IsCurve(X)) which has genus 0. See Chapter RATIONAL CURVES AND CONICS for intrinsics which apply to rational curves.
Return true and a hyperelliptic curve if the scheme X is trivially a hyperelliptic curve. This occurs if and only if X is already of CrvHyp type or is defined by a non-singular Weierstrass equation in correctly weighted two-dimensional projective space. For a general scheme of type Crv, the intrinsic IsHyperelliptic in Chapter ALGEBRAIC CURVES will determine whether X is isomorphic to a hyperelliptic curve and return an isomorphism to a CrvHyp if so. This takes a lot more work in general. See Chapter HYPERELLIPTIC CURVES for more information on hyperelliptic curves.
Return true if and only if the scheme X is a curve of type CrvMod. See Chapter MODULAR CURVES for more information on modular curves.