# Schemes

- [Introduction and First Examples](introduction.md)

  - [Ambient Spaces](introduction.md#ambient-spaces)

    - [`Example: EXAMPLE`](introduction.md#example-ex-9637c4)

  - [Schemes](introduction.md#schemes)

    - [`Example: ex2`](introduction.md#example-ex-1db4b0)

  - [Rational Points](introduction.md#rational-points)

    - [`Example: ex3`](introduction.md#example-ex-c1415a)

  - [Projective Closure](introduction.md#projective-closure)

    - [`Example: ex4`](introduction.md#example-ex-e6283e)

  - [Maps](introduction.md#maps)

    - [`Example: ex5`](introduction.md#example-ex-8febb0)

  - [Linear Systems](introduction.md#linear-systems)

    - [`Example: ex6`](introduction.md#example-ex-7c74bf)

  - [Aside: Types of Schemes](introduction.md#aside-types-of-schemes)

- [Ambients](schemes-ambient.md)

  - [Affine and Projective Spaces](schemes-ambient.md#affine-and-projective-spaces)

    - [`AffineSpace(k,n): Rng, RngIntElt → Aff`](schemes-ambient.md#function-affinespace-rng-rngintelt)

    - [`ProjectiveSpace(k,n): Rng, RngIntElt → Prj`](schemes-ambient.md#function-projectivespace-rng-rngintelt)

    - [`ProjectiveSpace(k,W): Rng, [RngIntElt] → Prj`](schemes-ambient.md#function-projectivespace-rng-rngintelt-2)

    - [`ProjectiveLine(k): RngIntRes → SetIndx, UserProgram`](schemes-ambient.md#function-projectiveline-rngintres)

    - [`ProjectiveLine(k): RngOrdRes → SetIndx, UserProgram`](schemes-ambient.md#function-projectiveline-rngordres)

    - [`ProjectiveLineProcess(V): ModTupFld[FldFin] → ProcPL`](schemes-ambient.md#function-projectivelineprocess-modtupfld-fldfin)

    - [`ProjectiveLineProcess(k, n): FldFin, RngIntElt → ProcPL`](schemes-ambient.md#function-projectivelineprocess-fldfin-rngintelt)

    - [`# P: ProcPL → RngIntElt`](schemes-ambient.md#operation-operation-procpl-rngintelt)

    - [`Next(P): ProcPL → ModTupFldElt`](schemes-ambient.md#function-next-procpl)

    - [`AffineSpace(R): RngMPol → Aff`](schemes-ambient.md#function-affinespace-rngmpol)

    - [`Spec(R): RngMPol → Aff`](schemes-ambient.md#function-spec-rngmpol)

    - [`ProjectiveSpace(R): RngMPol → Prj`](schemes-ambient.md#function-projectivespace-rngmpol)

    - [`Proj(R): RngMPol → Prj`](schemes-ambient.md#function-proj-rngmpol)

    - [`AssignNames(~A,N): Sch, [MonStgElt]`](schemes-ambient.md#function-assignnames-sch-monstgelt-ref)

    - [`A . i: Sch, RngIntElt → RngMPolElt`](schemes-ambient.md#operation-operation-sch-rngintelt-rngmpolelt)

    - [`Name(A,i): Sch, RngIntElt → RngMPolElt`](schemes-ambient.md#function-name-sch-rngintelt)

    - [`Example: Affine Space Names`](schemes-ambient.md#example-ex-342021)

    - [`A eq B: Sch, Sch → BoolElt`](schemes-ambient.md#operation-op-eq-sch-sch)

  - [Scrolls and Products](schemes-ambient.md#scrolls-and-products)

    - [`DirectProduct(A,B): Sch, Sch → Sch, SeqEnum`](schemes-ambient.md#function-directproduct-sch-sch)

    - [`RuledSurface(k,a,b): Rng, RngIntElt, RngIntElt → PrjScrl`](schemes-ambient.md#function-ruledsurface-rng-rngintelt-rngintelt)

    - [`RuledSurface(k,n): Rng, RngIntElt → PrjScrl`](schemes-ambient.md#function-ruledsurface-rng-rngintelt)

    - [`AbsoluteRationalScroll(k,N): Rng, SeqEnum → PrjScrl`](schemes-ambient.md#function-absoluterationalscroll-rng-seqenum)

    - [`ProductProjectiveSpace(k,N): Rng, SeqEnum → PrjScrl`](schemes-ambient.md#function-productprojectivespace-rng-seqenum)

    - [`SegreProduct(Xs): SeqEnum[Sch] → Sch, SeqEnum`](schemes-ambient.md#function-segreproduct-seqenum-sch)

    - [`SegreEmbedding(X): Sch → Sch, MapIsoSch`](schemes-ambient.md#function-segreembedding-sch)

    - [`Example: Sch:segre Embedding`](schemes-ambient.md#example-ex-b233a4)

  - [Functions and Homogeneity on Ambient Spaces](schemes-ambient.md#functions-and-homogeneity-on-ambient-spaces)

    - [`CoordinateRing(A): Sch → Rng`](schemes-ambient.md#function-coordinatering-sch)

    - [`FunctionField(A): Sch → FldFunFracSch`](schemes-ambient.md#function-functionfield-sch)

    - [`HasFunctionField(A): Sch → BoolElt`](schemes-ambient.md#function-hasfunctionfield-sch)

    - [`Gradings(X): Sch → SeqEnum`](schemes-ambient.md#function-gradings-sch)

    - [`NumberOfGradings(X): Sch → RngIntElt`](schemes-ambient.md#function-numberofgradings-sch)

    - [`NGrad(X): Sch → RngIntElt`](schemes-ambient.md#function-ngrad-sch)

    - [`NumberOfCoordinates(X): Sch → RngIntElt`](schemes-ambient.md#function-numberofcoordinates-sch)

    - [`Length(X): Sch → RngIntElt`](schemes-ambient.md#function-length-sch)

    - [`Lengths(X): Sch → [RngIntElt]`](schemes-ambient.md#function-lengths-sch)

    - [`IsHomogeneous(X,f): Sch, RngMPolElt → BoolElt`](schemes-ambient.md#function-ishomogeneous-sch-rngmpolelt)

    - [`IsHomogeneous(X,f): Sch, FldFunRatMElt → BoolElt`](schemes-ambient.md#function-ishomogeneous-sch-fldfunratmelt)

    - [`Multidegree(X,f): Sch, RngMPolElt → SeqEnum`](schemes-ambient.md#function-multidegree-sch-rngmpolelt)

    - [`Degrees(X,f): Sch, RngMPolElt → SeqEnum`](schemes-ambient.md#function-degrees-sch-rngmpolelt)

  - [Prelude to Points](schemes-ambient.md#prelude-to-points)

    - [`A ! [a,b,...]: Sch, [RngElt] → Pt`](schemes-ambient.md#operation-op-sch-rngelt)

    - [`A(L) ! [a,b,...]: SetPt, [RngElt] → Pt`](schemes-ambient.md#operation-a-setpt-rngelt)

    - [`Example: Schemes Points Example1`](schemes-ambient.md#example-ex-68807d)

    - [`Origin(A): Aff → Pt`](schemes-ambient.md#function-origin-aff)

    - [`Simplex(A): Prj → SeqEnum`](schemes-ambient.md#function-simplex-prj)

    - [`Coordinates(p): Pt → SeqEnum`](schemes-ambient.md#function-coordinates-pt)

    - [`p[i]: Pt, RngIntElt → RngElt`](schemes-ambient.md#literal-literal-p-i-pt-rngintelt-rngelt)

    - [`Coordinate(p,i): Pt, RngIntElt → SeqEnum`](schemes-ambient.md#function-coordinate-pt-rngintelt)

    - [`p @ f: Pt, FldFunFracSchElt → RngElt`](schemes-ambient.md#operation-operation-pt-fldfunfracschelt-rngelt)

    - [`f(p): Pt, FldFunFracSchElt → RngElt`](schemes-ambient.md#function-f-pt-fldfunfracschelt)

    - [`Evaluate(f, p): RngElt, Pt → RngElt`](schemes-ambient.md#function-evaluate-rngelt-pt)

    - [`Example: Evaluate Funfld Example`](schemes-ambient.md#example-ex-56a4f5)

- [Constructing Schemes](schemes-creation.md)

  - [`Scheme(X,f): Sch, RngMPolElt → Sch`](schemes-creation.md#function-scheme-sch-rngmpolelt)

  - [`Scheme(X,F): Sch, SeqEnum → Sch`](schemes-creation.md#function-scheme-sch-seqenum)

  - [`Scheme(X,I): Sch, RngMPol → Sch`](schemes-creation.md#function-scheme-sch-rngmpol)

  - [`Scheme(X,Q): Sch, RngMPolRes → Sch`](schemes-creation.md#function-scheme-sch-rngmpolres)

  - [`Cluster(X,f): Sch, RngMPolElt → Clstr`](schemes-creation.md#function-cluster-sch-rngmpolelt)

  - [`Cluster(X,F): Sch, SeqEnum → Clstr`](schemes-creation.md#function-cluster-sch-seqenum)

  - [`Cluster(X,I): Sch, RngMPol → Clstr`](schemes-creation.md#function-cluster-sch-rngmpol)

  - [`Cluster(X,Q): Sch, RngMPolRes → Clstr`](schemes-creation.md#function-cluster-sch-rngmpolres)

  - [`Example: Schemes Creation`](schemes-creation.md#example-ex-dc463d)

  - [`Spec(R): RngMPolRes → Sch, Aff`](schemes-creation.md#function-spec-rngmpolres)

  - [`Proj(R): RngMPolRes → Sch, Prj`](schemes-creation.md#function-proj-rngmpolres)

  - [`EmptyScheme(X): Sch → Sch`](schemes-creation.md#function-emptyscheme-sch)

  - [`EmptySubscheme(X): Sch → Sch, MapSch`](schemes-creation.md#function-emptysubscheme-sch)

  - [`X meet Y: Sch, Sch → Sch`](schemes-creation.md#operation-op-meet-sch-sch)

  - [`Intersection(X,Y): Sch, Sch → Sch`](schemes-creation.md#function-intersection-sch-sch)

  - [`X join Y: Sch, Sch → Sch`](schemes-creation.md#operation-op-join-sch-sch)

  - [`Union(X,Y): Sch, Sch → Sch`](schemes-creation.md#function-union-sch-sch)

  - [`& join S: [Sch] → Sch`](schemes-creation.md#operation-operation-sch-sch)

  - [`Difference(X, Y): Sch, Sch → Sch`](schemes-creation.md#function-difference-sch-sch)

  - [`Complement(X, Y): Sch, Sch → Sch`](schemes-creation.md#function-complement-sch-sch)

  - [`RemoveLinearRelations(X): Sch → Sch, MapIsoSch`](schemes-creation.md#function-removelinearrelations-sch)

  - [`Blowup(X,Y): Sch, Sch → Sch, MapSch`](schemes-creation.md#function-blowup-sch-sch)

  - [`Blowup(X,p): Sch, Pt → Sch, MapSch`](schemes-creation.md#function-blowup-sch-pt)

  - [`LocalBlowUp(X,Y): Sch, Sch → SeqEnum`](schemes-creation.md#function-localblowup-sch-sch)

  - [`Example: remove`](schemes-creation.md#example-ex-51f816)

  - [`Example: Sch Blowup Ex`](schemes-creation.md#example-ex-0b76be)

  - [`Saturate(~X): Sch`](schemes-creation.md#function-saturate-sch-ref)

  - [`AssignNames(~X,N): Sch, SeqEnum`](schemes-creation.md#function-assignnames-sch-seqenum-ref)

  - [`X . i: Sch, RngIntElt → RngMPolElt`](schemes-creation.md#operation-operation-sch-rngintelt-rngmpolelt)

  - [`Name(X,i): Sch, RngIntElt → RngMPolElt`](schemes-creation.md#function-name-sch-rngintelt-2)

- [Different Types of Scheme](schemes-types.md)

  - [`IsAffine(X): Sch → BoolElt`](schemes-types.md#function-isaffine-sch)

  - [`IsProjective(X): Sch → BoolElt`](schemes-types.md#function-isprojective-sch)

  - [`IsOrdinaryProjectiveSpace(X): Sch → BoolElt`](schemes-types.md#function-isordinaryprojectivespace-sch)

  - [`IsAmbient(X): Sch → BoolElt`](schemes-types.md#function-isambient-sch)

  - [`IsCluster(X): Sch → BoolElt, Clstr`](schemes-types.md#function-iscluster-sch)

  - [`IsCurve(X): Sch → BoolElt, Crv`](schemes-types.md#function-iscurve-sch)

  - [`IsPlaneCurve(X): Sch → BoolElt, CrvPln`](schemes-types.md#function-isplanecurve-sch)

  - [`IsConic(X): Sch → BoolElt, CrvCon`](schemes-types.md#function-isconic-sch)

  - [`IsRationalCurve(X): Sch → BoolElt, CrvRat`](schemes-types.md#function-isrationalcurve-sch)

  - [`IsHyperellipticCurve(X): Sch → BoolElt, CrvHyp`](schemes-types.md#function-ishyperellipticcurve-sch)

  - [`IsModularCurve(X): Sch → BoolElt`](schemes-types.md#function-ismodularcurve-sch)

- [Basic Attributes of Schemes](schemes-basic.md)

  - [Functions of the Ambient Space](schemes-basic.md#functions-of-the-ambient-space)

    - [`AmbientSpace(X): Sch → Sch`](schemes-basic.md#function-ambientspace-sch)

    - [`Ambient(X): Sch → Sch`](schemes-basic.md#function-ambient-sch)

    - [`IdenticalAmbientSpace(X,Y): Sch, Sch → BoolElt`](schemes-basic.md#function-identicalambientspace-sch-sch)

    - [`SuperScheme(X): Sch → Sch`](schemes-basic.md#function-superscheme-sch)

    - [`BaseRing(X): Sch → Rng`](schemes-basic.md#function-basering-sch)

    - [`CoefficientRing(X): Sch → Fld`](schemes-basic.md#function-coefficientring-sch)

    - [`HasGCD(X): Sch → BoolElt`](schemes-basic.md#function-hasgcd-sch)

    - [`HasGroebnerBasis(X): Sch → BoolElt`](schemes-basic.md#function-hasgroebnerbasis-sch)

    - [`HasResultant(X): Sch → BoolElt`](schemes-basic.md#function-hasresultant-sch)

    - [`BaseField(X): Sch → Fld`](schemes-basic.md#function-basefield-sch)

    - [`CoefficientField(X): Sch → Fld`](schemes-basic.md#function-coefficientfield-sch)

    - [`IsAffine(X): Sch → BoolElt`](schemes-basic.md#function-isaffine-sch-2)

    - [`IsProjective(X): Sch → BoolElt`](schemes-basic.md#function-isprojective-sch-2)

    - [`IsOrdinaryProjective(X): Sch → BoolElt`](schemes-basic.md#function-isordinaryprojective-sch)

    - [`IsPlanar(X): Sch → BoolElt`](schemes-basic.md#function-isplanar-sch)

    - [`IsSaturated(X): Sch → BoolElt`](schemes-basic.md#function-issaturated-sch)

  - [Functions of the Equations](schemes-basic.md#functions-of-the-equations)

    - [`DefiningPolynomials(X): Sch → SeqEnum`](schemes-basic.md#function-definingpolynomials-sch)

    - [`Polynomials(X): Sch → SeqEnum`](schemes-basic.md#function-polynomials-sch)

    - [`DefiningEquations(X): Sch → SeqEnum`](schemes-basic.md#function-definingequations-sch)

    - [`Equations(X): Sch → SeqEnum`](schemes-basic.md#function-equations-sch)

    - [`DefiningPolynomial(X): Sch → RngMPolElt`](schemes-basic.md#function-definingpolynomial-sch)

    - [`Polynomial(X): Sch → RngMPolElt`](schemes-basic.md#function-polynomial-sch)

    - [`DefiningEquation(X): Sch → RngMPolElt`](schemes-basic.md#function-definingequation-sch)

    - [`Equation(X): Sch → RngMPolElt`](schemes-basic.md#function-equation-sch)

    - [`DefiningIdeal(X): Sch → RngMPol`](schemes-basic.md#function-definingideal-sch)

    - [`Ideal(X): Sch → RngMPol`](schemes-basic.md#function-ideal-sch)

    - [`CoordinateRing(X): Sch → RngMPol`](schemes-basic.md#function-coordinatering-sch-2)

    - [`Curve(X): Sch → Crv`](schemes-basic.md#function-curve-sch)

    - [`GroebnerBasis(X): Sch → SeqEnum`](schemes-basic.md#function-groebnerbasis-sch)

    - [`MinimalBasis(X): Sch → [ RngMPolElt ]`](schemes-basic.md#function-minimalbasis-sch)

    - [`IsHypersurface(X): Sch → BoolElt, RngMPolElt`](schemes-basic.md#function-ishypersurface-sch)

    - [`NoCommonComponent(X,Y): Sch, Sch → BoolElt`](schemes-basic.md#function-nocommoncomponent-sch-sch)

    - [`CommonComponent(X,Y): Sch, Sch → Sch`](schemes-basic.md#function-commoncomponent-sch-sch)

    - [`JacobianIdeal(X): Sch → RngMPol`](schemes-basic.md#function-jacobianideal-sch)

    - [`JacobianMatrix(X): Sch → ModMatRngElt`](schemes-basic.md#function-jacobianmatrix-sch)

    - [`HessianMatrix(X): Sch → ModMatRngElt`](schemes-basic.md#function-hessianmatrix-sch)

    - [`X eq Y: Sch, Sch → BoolElt`](schemes-basic.md#operation-op-eq-sch-sch-2)

    - [`IsSubscheme(X, Y): Sch, Sch → BoolElt`](schemes-basic.md#function-issubscheme-sch-sch)

    - [`IsLinear(X): Sch → BoolElt`](schemes-basic.md#function-islinear-sch)

    - [`Example: Scheme Equality`](schemes-basic.md#example-ex-571415)

- [Function Fields and their Elements](schemes-function-elements.md)

  - [`Scheme(F): FldFunFracSch → Sch`](schemes-function-elements.md#function-scheme-fldfunfracsch)

  - [`IntegerRing(F): RngFrac → Rng`](schemes-function-elements.md#function-integerring-rngfrac)

  - [`Integers(F): RngFrac → Rng`](schemes-function-elements.md#function-integers-rngfrac)

  - [`AssignNames(~F, S): RngFrac, [MonStgElt]`](schemes-function-elements.md#function-assignnames-rngfrac-monstgelt-ref)

  - [`F ! g: FldFunFracSch, RngElt → FldFunFracSchElt`](schemes-function-elements.md#operation-op-fldfunfracsch-rngelt)

  - [`F . i: FldFunFracSch, RngIntElt → FldFunFracSchElt`](schemes-function-elements.md#operation-operation-fldfunfracsch-rngintelt-fldfunfracschelt)

  - [`ProjectiveFunction(f): FldFunFracSchElt → FldFracElt`](schemes-function-elements.md#function-projectivefunction-fldfunfracschelt)

  - [`ProjectiveRationalFunction(f): FldFunFracSchElt → FldFunRatMElt`](schemes-function-elements.md#function-projectiverationalfunction-fldfunfracschelt)

  - [`RestrictionToPatch(f, Xi): FldFunFracSchElt, Sch → FldFracElt`](schemes-function-elements.md#function-restrictiontopatch-fldfunfracschelt-sch)

  - [`Numerator(f): RngFracElt → RngElt`](schemes-function-elements.md#function-numerator-rngfracelt)

  - [`Denominator(f): RngFracElt → RngElt`](schemes-function-elements.md#function-denominator-rngfracelt)

  - [`f * g: RngFracElt, RngFracElt → RngFracElt`](schemes-function-elements.md#operation-op-times-rngfracelt-rngfracelt)

  - [`f + g: RngFracElt, RngFracElt → RngFracElt`](schemes-function-elements.md#operation-op-plus-rngfracelt-rngfracelt)

  - [`f - g: RngFracElt, RngFracElt → RngFracElt`](schemes-function-elements.md#operation-op-minus-rngfracelt-rngfracelt)

  - [`- f: RngFracElt → RngFracElt`](schemes-function-elements.md#operation-operation-rngfracelt-rngfracelt)

  - [`f / g: RngFracElt, RngFracElt → RngFracElt`](schemes-function-elements.md#operation-op-div-rngfracelt-rngfracelt)

  - [`f ^ n: RngFracElt, RngIntElt → RngFracElt`](schemes-function-elements.md#operation-op-pow-rngfracelt-rngintelt)

  - [`f eq g: RngFracElt, RngFracElt → BoolElt`](schemes-function-elements.md#operation-op-eq-rngfracelt-rngfracelt)

  - [`IsZero(f): RngFracElt → BoolElt`](schemes-function-elements.md#function-iszero-rngfracelt)

  - [`IsOne(f): RngFracElt → BoolElt`](schemes-function-elements.md#function-isone-rngfracelt)

  - [`IsMinusOne(f): RngFracElt → BoolElt`](schemes-function-elements.md#function-isminusone-rngfracelt)

  - [`IsUnit(f): RngFracElt → BoolElt`](schemes-function-elements.md#function-isunit-rngfracelt)

  - [`IntegralSplit(f, X): FldFunFracSchElt, Sch → RngMPolElt, RngMPolElt`](schemes-function-elements.md#function-integralsplit-fldfunfracschelt-sch)

  - [`Numerator(f, X): FldFunFracSchElt, Sch → MPolElt`](schemes-function-elements.md#function-numerator-fldfunfracschelt-sch)

  - [`Denominator(f, X): FldFunFracSchElt, Sch → MPolElt`](schemes-function-elements.md#function-denominator-fldfunfracschelt-sch)

  - [`Example: Scheme Fld Fun Elt`](schemes-function-elements.md#example-ex-5c8a0c)

  - [`Restriction(f, Y): FldFunFracSchElt, Sch → FldFunFracSchElt`](schemes-function-elements.md#function-restriction-fldfunfracschelt-sch)

  - [`GenericPoint(X): Sch → Pt`](schemes-function-elements.md#function-genericpoint-sch)

- [Rational Points and Point Sets](schemes-points.md)

  - [`X(L): Sch, Rng → SetPt`](schemes-points.md#function-x-sch-rng)

  - [`PointSet(X,L): Sch, Rng → SetPt`](schemes-points.md#function-pointset-sch-rng)

  - [`X(m): Sch, Map → SetPt`](schemes-points.md#function-x-sch-map)

  - [`PointSet(X,m): Sch, Map → SetPt`](schemes-points.md#function-pointset-sch-map)

  - [`P eq Q: SetPt, SetPt → BoolElt`](schemes-points.md#operation-op-eq-setpt-setpt)

  - [`Scheme(P): SetPt → Sch`](schemes-points.md#function-scheme-setpt)

  - [`Curve(P): SetPt → Crv`](schemes-points.md#function-curve-setpt)

  - [`Ring(P): SetPt → Rng`](schemes-points.md#function-ring-setpt)

  - [`RingMap(P): SetPt → Map`](schemes-points.md#function-ringmap-setpt)

  - [`X ! Q: Sch, SeqEnum → Pt`](schemes-points.md#operation-op-sch-seqenum)

  - [`X(L) ! Q: SetPt, SeqEnum → Pt`](schemes-points.md#operation-x-setpt-seqenum)

  - [`p eq q: Pt, Pt → BoolElt`](schemes-points.md#operation-op-eq-pt-pt)

  - [`p in X: Pt, Sch → BoolElt`](schemes-points.md#operation-op-in-pt-sch)

  - [`Scheme(p): Pt → Sch`](schemes-points.md#function-scheme-pt)

  - [`Curve(p): Pt → Crv`](schemes-points.md#function-curve-pt)

  - [`Q in X: SeqEnum, Sch → BoolElt`](schemes-points.md#operation-op-in-seqenum-sch)

  - [`S subset X: Setq, Sch → BoolElt`](schemes-points.md#operation-op-subset-setq-sch)

  - [`RationalPoints(X): Sch → SetIndx`](schemes-points.md#function-rationalpoints-sch)

  - [`RationalPoints(X,L): Sch, Rng → SetIndx`](schemes-points.md#function-rationalpoints-sch-rng)

  - [`Points(X): Sch → SetIndx`](schemes-points.md#function-points-sch)

  - [`Points(X,L): Sch, Rng → SetIndx`](schemes-points.md#function-points-sch-rng)

  - [`RationalPointsByFibration(X): Sch → SetIndx`](schemes-points.md#function-rationalpointsbyfibration-sch)

  - [`Random(S): SetPt → Pt`](schemes-points.md#function-random-setpt)

  - [`HasNonsingularPoint(X): Sch → BoolElt, Pt`](schemes-points.md#function-hasnonsingularpoint-sch)

  - [`HasNonsingularPoint(X,L): Sch, FldFin → BoolElt, Pt`](schemes-points.md#function-hasnonsingularpoint-sch-fldfin)

  - [`PointsModPN(S, P, N): Sch, ., RngIntElt → SetIndx`](schemes-points.md#function-pointsmodpn-sch-rngintelt)

  - [`PointsModPN(S, M): Sch, RngIntElt → SetIndx`](schemes-points.md#function-pointsmodpn-sch-rngintelt-2)

  - [`PointsModPN(S, M): Sch, RngOrdIdl → SetIndx`](schemes-points.md#function-pointsmodpn-sch-rngordidl)

  - [`Example: Scheme Points`](schemes-points.md#example-ex-4f3a7a)

- [Zero-dimensional Schemes](schemes-clusters.md)

  - [`Cluster(p): Pt → Clstr`](schemes-clusters.md#function-cluster-pt)

  - [`Cluster(X, p): Sch, Pt → Clstr;`](schemes-clusters.md#function-cluster-sch-pt)

  - [`Cluster(S): SetEnum → Clstr`](schemes-clusters.md#function-cluster-setenum)

  - [`Cluster(S): SetIndx → Clstr`](schemes-clusters.md#function-cluster-setindx)

  - [`Cluster(X, S): Sch, SetEnum → Clstr`](schemes-clusters.md#function-cluster-sch-setenum)

  - [`Cluster(X, S): Sch, SetIndx → Clstr`](schemes-clusters.md#function-cluster-sch-setindx)

  - [`RationalPoints(Z): Sch → SetEnum`](schemes-clusters.md#function-rationalpoints-sch-2)

  - [`RationalPoints(Z,L): Sch, Rng → SetEnum`](schemes-clusters.md#function-rationalpoints-sch-rng-2)

  - [`PointsOverSplittingField(Z): Clstr → SetEnum`](schemes-clusters.md#function-pointsoversplittingfield-clstr)

  - [`HasPointsOverExtension(X): Sch → BoolElt`](schemes-clusters.md#function-haspointsoverextension-sch)

  - [`HasPointsOverExtension(X,L): Sch, Rng → BoolElt`](schemes-clusters.md#function-haspointsoverextension-sch-rng)

  - [`Degree(Z): Clstr → RngIntElt`](schemes-clusters.md#function-degree-clstr)

  - [`Example: Cluster Degree5`](schemes-clusters.md#example-ex-821adf)

- [Local Geometry of Schemes](schemes-local.md)

  - [Point Conditions](schemes-local.md#point-conditions)

    - [`IsSingular(p): Pt → BoolElt`](schemes-local.md#function-issingular-pt)

    - [`IsSingular(X,p): Sch, Pt → BoolElt`](schemes-local.md#function-issingular-sch-pt)

    - [`IsNonsingular(p): Pt → BoolElt`](schemes-local.md#function-isnonsingular-pt)

    - [`IsNonsingular(X,p): Sch, Pt → BoolElt`](schemes-local.md#function-isnonsingular-sch-pt)

    - [`IsOrdinarySingularity(p): Pt → BoolElt`](schemes-local.md#function-isordinarysingularity-pt)

    - [`IsOrdinarySingularity(X,p): Sch, Pt → BoolElt`](schemes-local.md#function-isordinarysingularity-sch-pt)

  - [Point Computations](schemes-local.md#point-computations)

    - [`Multiplicity(p): Pt → RngIntElt`](schemes-local.md#function-multiplicity-pt)

    - [`Multiplicity(X,p): Sch, Pt → RngIntElt`](schemes-local.md#function-multiplicity-sch-pt)

    - [`TangentSpace(p): Pt → Sch`](schemes-local.md#function-tangentspace-pt)

    - [`TangentSpace(X,p): Sch, Pt → Sch`](schemes-local.md#function-tangentspace-sch-pt)

    - [`TangentCone(p): Pt → Sch`](schemes-local.md#function-tangentcone-pt)

    - [`TangentCone(X,p): Sch, Pt → Sch`](schemes-local.md#function-tangentcone-sch-pt)

  - [Analytically Hypersurface Singularities](schemes-local.md#analytically-hypersurface-singularities)

    - [`IsHypersurfaceSingularity(p,prec): Pt, RngIntElt → BoolElt, RngMPolElt, SeqEnum, Rec`](schemes-local.md#function-ishypersurfacesingularity-pt-rngintelt)

    - [`HypersurfaceSingularityExpandFurther(dat,prec,R): Rec, RngIntElt, RngMPol → RngMPolElt`](schemes-local.md#function-hypersurfacesingularityexpandfurther-rec-rngintelt-rngmpol)

    - [`HypersurfaceSingularityExpandFunction(dat,f,prec,R): Rec, FldFunRatMElt, RngIntElt, RngMPol → RngMPolElt, RngMPolElt`](schemes-local.md#function-hypersurfacesingularityexpandfunction-rec-fldfunratmelt-rngintelt-rngmpol)

    - [`MilnorNumberAnalyticHypersurface(dat): Rec → RngIntElt`](schemes-local.md#function-milnornumberanalytichypersurface-rec)

    - [`TjurinaNumberAnalyticHypersurface(dat): Rec → RngIntElt`](schemes-local.md#function-tjurinanumberanalytichypersurface-rec)

    - [`Example: An Hyp Sing Ex`](schemes-local.md#example-ex-aae880)

- [Classification and Normal Forms of Singularities](sing-norm-form.md)

  - [`NormalFormOfHypersurfaceSingularity(f): RngMPol → BoolElt, RngMPolElt, MonStgElt, Map`](sing-norm-form.md#function-normalformofhypersurfacesingularity-rngmpol)

  - [`Corank2Case(f): RngMPol → BoolElt, RngMPolElt, MonStgElt, Map`](sing-norm-form.md#function-corank2case-rngmpol)

  - [`Corank3Case(f): RngMPol → BoolElt, RngMPolElt, MonStgElt, Map`](sing-norm-form.md#function-corank3case-rngmpol)

  - [`Example: Scheme Norm Form Sings`](sing-norm-form.md#example-ex-41d136)

- [Global Geometry of Schemes](schemes-global.md)

  - [`Dimension(X): Sch → RngIntElt`](schemes-global.md#function-dimension-sch)

  - [`Codimension(X): Sch → RngIntElt`](schemes-global.md#function-codimension-sch)

  - [`Degree(X): Sch → RngIntElt`](schemes-global.md#function-degree-sch)

  - [`ArithmeticGenus(X): Sch → RngIntElt`](schemes-global.md#function-arithmeticgenus-sch)

  - [`IsEmpty(X): Sch → BoolElt`](schemes-global.md#function-isempty-sch)

  - [`IsNonsingular(X): Sch → BoolElt`](schemes-global.md#function-isnonsingular-sch)

  - [`IsSingular(X): Sch → BoolElt`](schemes-global.md#function-issingular-sch)

  - [`JacobianSubrankScheme(X): Sch → Sch`](schemes-global.md#function-jacobiansubrankscheme-sch)

  - [`SingularSubscheme(X): Sch → Sch`](schemes-global.md#function-singularsubscheme-sch)

  - [`Example: Wps Singularities`](schemes-global.md#example-ex-677f5d)

  - [`PrimeComponents(X): Sch → SeqEnum`](schemes-global.md#function-primecomponents-sch)

  - [`PrimaryComponents(X): Sch → SeqEnum`](schemes-global.md#function-primarycomponents-sch)

  - [`IrreducibleComponents(X): Sch → SeqEnum`](schemes-global.md#function-irreduciblecomponents-sch)

  - [`ReducedSubscheme(X): Sch → Sch, MapSch`](schemes-global.md#function-reducedsubscheme-sch)

  - [`IsIrreducible(X): Sch → BoolElt`](schemes-global.md#function-isirreducible-sch)

  - [`IsReduced(X): Sch → BoolElt`](schemes-global.md#function-isreduced-sch)

  - [`IsCohenMacaulay(X): Sch → BoolElt`](schemes-global.md#function-iscohenmacaulay-sch)

  - [`IsGorenstein(X): Sch → BoolElt`](schemes-global.md#function-isgorenstein-sch)

  - [`IsArithmeticallyCohenMacaulay(X): Sch → BoolElt`](schemes-global.md#function-isarithmeticallycohenmacaulay-sch)

  - [`IsArithmeticallyGorenstein(X): Sch → BoolElt`](schemes-global.md#function-isarithmeticallygorenstein-sch)

  - [`Example: Schemes Prime Components`](schemes-global.md#example-ex-5b784a)

- [Base Change for Schemes](schemes-base-change.md)

  - [`BaseChange(A,K): Sch, Rng → Sch`](schemes-base-change.md#function-basechange-sch-rng)

  - [`BaseExtend(A,K): Sch, Rng → Sch`](schemes-base-change.md#function-baseextend-sch-rng)

  - [`BaseChange(A,m): Sch, Map → Sch`](schemes-base-change.md#function-basechange-sch-map)

  - [`BaseExtend(A,m): Sch, Map → Sch`](schemes-base-change.md#function-baseextend-sch-map)

  - [`BaseChange(F,K): SeqEnum, Rng → SeqEnum`](schemes-base-change.md#function-basechange-seqenum-rng)

  - [`BaseExtend(F,K): SeqEnum, Rng → SeqEnum`](schemes-base-change.md#function-baseextend-seqenum-rng)

  - [`BaseChange(F,m): SeqEnum, Rng → SeqEnum`](schemes-base-change.md#function-basechange-seqenum-rng-2)

  - [`BaseExtend(F,m): SeqEnum, Rng → SeqEnum`](schemes-base-change.md#function-baseextend-seqenum-rng-2)

  - [`BaseChange(X,A): Sch, Sch → Sch`](schemes-base-change.md#function-basechange-sch-sch)

  - [`BaseExtend(X,A): Sch, Sch → Sch`](schemes-base-change.md#function-baseextend-sch-sch)

  - [`BaseChange(X,A,m): Sch, Sch, Map → Sch`](schemes-base-change.md#function-basechange-sch-sch-map)

  - [`BaseExtend(X,A,m): Sch, Sch, Map → Sch`](schemes-base-change.md#function-baseextend-sch-sch-map)

  - [`BaseChange(X, n): Sch, RngIntElt → Sch`](schemes-base-change.md#function-basechange-sch-rngintelt)

  - [`BaseExtend(X, n): Sch, RngIntElt → Sch`](schemes-base-change.md#function-baseextend-sch-rngintelt)

  - [`Example: Base Change Schemes`](schemes-base-change.md#example-ex-bc94d7)

- [Affine Patches and Projective Closure](schemes-closure.md)

  - [`ProjectiveClosure(X): Sch → Sch`](schemes-closure.md#function-projectiveclosure-sch)

  - [`AffinePatch(X,i): Sch, RngIntElt → Sch`](schemes-closure.md#function-aff-pat)

  - [`AffinePatch(X,p): Sch, Pt → Sch, Pt`](schemes-closure.md#function-affinepatch-sch-pt)

  - [`IsStandardAffinePatch(A): Aff → BoolElt, RngIntElt`](schemes-closure.md#function-isstandardaffinepatch-aff)

  - [`NumberOfAffinePatches(X): Sch → BoolElt`](schemes-closure.md#function-numberofaffinepatches-sch)

  - [`HasAffinePatch(X, i): Sch, RngIntElt → BoolElt`](schemes-closure.md#function-hasaffinepatch-sch-rngintelt)

  - [`WeightedAffinePatch(P, i): Prj, RngIntElt → Sch, MapIsoSch`](schemes-closure.md#function-weightedaffinepatch-prj-rngintelt)

  - [`Example: Projective Closure`](schemes-closure.md#example-ex-3bb4da)

  - [`Example: Projective Closure Incorrect`](schemes-closure.md#example-ex-92843d)

  - [`Example: Weighted Patches`](schemes-closure.md#example-ex-dca912)

  - [`HyperplaneAtInfinity(X): Sch → Sch`](schemes-closure.md#function-hyperplaneatinfinity-sch)

  - [`ProjectiveClosureMap(A): Aff → MapSch`](schemes-closure.md#function-projectiveclosuremap-aff)

  - [`PCMap(A): Aff → MapSch`](schemes-closure.md#function-pcmap-aff)

  - [`AffineDecomposition(P): Prj → [MapSch], Pt`](schemes-closure.md#function-affinedecomposition-prj)

  - [`CentredAffinePatch(S, p): Sch, Pt → Sch, MapSch`](schemes-closure.md#function-centredaffinepatch-sch-pt)

- [Arithmetic Properties of Schemes and Points](anfs.md)

  - [Height](anfs.md#height)

    - [`HeightOnAmbient(P): Pt → RngElt`](anfs.md#function-heightonambient-pt)

  - [Restriction of Scalars](anfs.md#restriction-of-scalars)

    - [`RestrictionOfScalars(S, F): Sch, Fld → Sch, MapSch, UserProgram, Map`](anfs.md#function-restrictionofscalars-sch-fld)

    - [`WeilRestriction(S, F): Sch, Fld → Sch, MapSch, UserProgram, Map`](anfs.md#function-weilrestriction-sch-fld)

  - [Local Solubility](anfs.md#local-solubility)

    - [`IsEmpty(Xm): SetPt → BoolElt, Pt`](anfs.md#function-isempty-setpt)

    - [`Example: anf1`](anfs.md#example-ex-5c78a9)

    - [`Example: anf2`](anfs.md#example-ex-aa0142)

    - [`IsLocallySolvable(X, p): Sch, RngOrdIdl → BoolElt, Pt`](anfs.md#function-islocallysolvable-sch-rngordidl)

    - [`IsLocallySolvable(X, p): Sch, RngIntElt → BoolElt, Pt`](anfs.md#function-islocallysolvable-sch-rngintelt)

    - [`IsLocallySolvable(X,pl): Sch, PlcFunElt → BoolElt, Pt`](anfs.md#function-islocallysolvable-sch-plcfunelt)

    - [`Example: Anf Local Solv`](anfs.md#example-ex-ca0503)

    - [`LiftPoint(P, n): Pt, RngIntElt → Pt`](anfs.md#function-liftpoint-pt-rngintelt)

    - [`LiftPoint(F, d, P, n): [RngMPolElt], RngIntElt, [FldLocElt], RngIntElt → SeqEnum`](anfs.md#function-liftpoint-rngmpolelt-rngintelt-fldlocelt-rngintelt)

    - [`Example: Anf Lift`](anfs.md#example-ex-ed4659)

  - [Searching for Points](anfs.md#searching-for-points)

    - [`PointSearch(S,H : parameters): Sch[FldRat], RngIntElt → SeqEnum`](anfs.md#function-pointsearch-sch-fldrat-rngintelt)

    - [`Example: Point Count`](anfs.md#example-ex-a468fc)

  - [Reduction Mod $p$](anfs.md#reduction-mod-p)

    - [`Reduction(X, p): Sch, Any → Sch`](anfs.md#function-sch-red-mod-p)

    - [`Reduction(I, p): RngMPol, Any → RngMPol`](anfs.md#function-reduction-rngmpol-any)

    - [`Example: Scheme Red Mod P`](anfs.md#example-ex-cbccd6)

- [Maps between Schemes](maps.md)

  - [Creation of Maps](maps.md#creation-of-maps)

    - [`map< X -> Y | F >: Sch, Sch, SeqEnum → MapSch`](maps.md#constructor-constructor-map-sch-sch-seqenum-mapsch)

    - [`map< X -> Y | F, G >: Sch, Sch, SeqEnum → MapSch`](maps.md#constructor-constructor-map-sch-sch-seqenum-mapsch-2)

    - [`map< X -> Y | u, F >: Sch, Sch, Map, SeqEnum → MapSch`](maps.md#constructor-constructor-map-sch-sch-map-seqenum-mapsch)

    - [`iso< X -> Y | F, G >: Sch, Sch, SeqEnum, SeqEnum → MapAutSch`](maps.md#constructor-constructor-iso-sch-sch-seqenum-seqenum-mapautsch)

    - [`Example: Map Creation`](maps.md#example-ex-fb50d9)

    - [`Example: Map Fnfld`](maps.md#example-ex-2e865b)

    - [`Example: Map Frobenius`](maps.md#example-ex-3a4f79)

    - [`IdentityMap(X): Sch → MapSch`](maps.md#function-identitymap-sch)

    - [`ConstantMap(X,Y,p): Sch, Sch, Pt → MapSch`](maps.md#function-constantmap-sch-sch-pt)

    - [`map< X -> Y | Q >: Sch, Sch, SeqEnum → MapSch`](maps.md#constructor-constructor-map-sch-sch-seqenum-mapsch-3)

    - [`Projection(X,Y): Prj, Prj → MapSch`](maps.md#function-projection-prj-prj)

    - [`Projection(X, Q): Sch, Prj → Sch, MapSch`](maps.md#function-projection-sch-prj)

    - [`Projection(X): Sch → Sch, MapSch`](maps.md#function-projection-sch)

    - [`Projection(X, p): Sch, Pt → Sch, MapSch`](maps.md#function-projection-sch-pt)

    - [`ProjectionFromNonsingularPoint(X,p): Sch, Pt → Sch, MapSch, Sch`](maps.md#function-projectionfromnonsingularpoint-sch-pt)

    - [`ProjectiveMap(L, Y): [FldFunFracSchElt], Sch → MapSch`](maps.md#function-projectivemap-fldfunfracschelt-sch)

    - [`ProjectiveMap(L): [FldFunFracSchElt] → MapSch`](maps.md#function-projectivemap-fldfunfracschelt)

    - [`ProjectiveMap(f, Y): FldFunFracSchElt, Sch → MapSch`](maps.md#function-projectivemap-fldfunfracschelt-sch-2)

    - [`ProjectiveMap(f): FldFunFracSchElt → MapSch`](maps.md#function-projectivemap-fldfunfracschelt-2)

    - [`Example: Map Creation Prj`](maps.md#example-ex-cfe770)

    - [`Elimination(X,V): Sch, SeqEnum → Sch`](maps.md#function-elimination-sch-seqenum)

    - [`Inverse(f): MapSch → MapSch`](maps.md#function-inverse-mapsch)

    - [`IsInvertible(f): MapSch → Bool, MapSch`](maps.md#function-isinvertible-mapsch)

    - [`HasKnownInverse(f): MapSch → Bool`](maps.md#function-hasknowninverse-mapsch)

    - [`Example: Map Creation Inv`](maps.md#example-ex-1608e5)

    - [`g * f: MapSch, MapSch → MapSch`](maps.md#operation-op-times-mapsch-mapsch)

    - [`Components(f): Map → [Map]`](maps.md#function-components-map)

    - [`Example: Hom Spaces`](maps.md#example-ex-67bb10)

    - [`Restriction(f,X,Y): MapSch, Sch, Sch → MapSch`](maps.md#function-restriction-mapsch-sch-sch)

    - [`Expand(phi): MapSch → MapSch`](maps.md#function-expand-mapsch)

    - [`Extend(phi): MapSch → MapSch`](maps.md#function-extend-mapsch)

    - [`Prune(phi): MapSch → MapSch`](maps.md#function-prune-mapsch)

    - [`Normalization(phi): MapSch → MapSch`](maps.md#function-normalization-mapsch)

    - [`Normalisation(phi): MapSch → MapSch`](maps.md#function-normalisation-mapsch)

    - [`Example: Map Creation Comp Alt`](maps.md#example-ex-7d6748)

    - [`ImproveParametrization(p): MapSch → MapSch`](maps.md#function-sch-imp-para)

    - [`Example: Improve Prm Ex`](maps.md#example-ex-454322)

  - [Basic Attributes](maps.md#basic-attributes)

    - [Trivial Attributes](maps.md#trivial-attributes)

      - [`Domain(f): MapSch → Sch`](maps.md#function-domain-mapsch)

      - [`Codomain(f): MapSch → Sch`](maps.md#function-codomain-mapsch)

      - [`DefiningPolynomials(f): MapSch → SeqEnum`](maps.md#function-definingpolynomials-mapsch)

      - [`DefiningEquations(f): MapSch → SeqEnum`](maps.md#function-definingequations-mapsch)

      - [`FactoredDefiningPolynomials(f): MapSch → SeqEnum`](maps.md#function-factoreddefiningpolynomials-mapsch)

      - [`InverseDefiningPolynomials(f): MapSch → SeqEnum`](maps.md#function-inversedefiningpolynomials-mapsch)

      - [`FactoredInverseDefiningPolynomials(f): MapSch → SeqEnum`](maps.md#function-factoredinversedefiningpolynomials-mapsch)

      - [`AllDefiningPolynomials(f): MapSch → SeqEnum`](maps.md#function-alldefiningpolynomials-mapsch)

      - [`AllInverseDefiningPolynomials(f): MapSch → SeqEnum`](maps.md#function-allinversedefiningpolynomials-mapsch)

      - [`AlgebraMap(f): MapSch → Map`](maps.md#function-algebramap-mapsch)

      - [`FunctionDegree(f): MapSch → RngIntElt`](maps.md#function-functiondegree-mapsch)

    - [Basic Tests](maps.md#basic-tests)

      - [`f eq g: MapSch, MapSch → BoolElt`](maps.md#operation-op-eq-mapsch-mapsch)

      - [`IsRegular(f): MapSch → BoolElt`](maps.md#function-isregular-mapsch)

      - [`IsPolynomial(f): MapSch → BoolElt`](maps.md#function-ispolynomial-mapsch)

      - [`IsIsomorphism(f): MapSch → BoolElt, IsoSch`](maps.md#function-isisomorphism-mapsch)

      - [`IsDominant(f): MapSch → BoolElt`](maps.md#function-isdominant-mapsch)

      - [`IsLinear(f): MapSch → BoolElt`](maps.md#function-islinear-mapsch)

      - [`IsAffineLinear(f): MapSch → BoolElt`](maps.md#function-isaffinelinear-mapsch)

  - [Maps and Points](maps.md#maps-and-points)

    - [`f(p): MapSch, Pt → Pt`](maps.md#function-f-mapsch-pt)

    - [`Pullback(f, p): MapSch, Pt → Any`](maps.md#function-pullback-mapsch-pt)

    - [`p @@ f: Pt, MapSch → Any`](maps.md#operation-operation-pt-mapsch-any)

    - [`f(K): MapSch, Rng → Map`](maps.md#function-f-mapsch-rng)

    - [`f(m): MapSch, Map → Map`](maps.md#function-f-mapsch-map)

    - [`Example: Maps Point Image`](maps.md#example-ex-59eef0)

  - [Maps and Schemes](maps.md#maps-and-schemes)

    - [`Pullback(f, X): MapSch, Sch → Sch`](maps.md#function-pullback-mapsch-sch)

    - [`X @@ f: Sch, MapSch → Sch`](maps.md#operation-operation-sch-mapsch-sch)

    - [`Image(f): MapSch → Sch`](maps.md#function-image-mapsch)

    - [`f(X): Sch, MapSch → Sch`](maps.md#function-f-sch-mapsch)

    - [`Image(f,X,d): MapSch, Sch, RngIntElt → []`](maps.md#function-image-mapsch-sch-rngintelt)

    - [`Example: Map Image1`](maps.md#example-ex-ba77c6)

    - [`Example: Map Image2`](maps.md#example-ex-1cc82b)

    - [`BaseScheme(f): MapSch → Sch`](maps.md#function-basescheme-mapsch)

    - [`BasePoints(f): MapSch → SetEnum`](maps.md#function-basepoints-mapsch)

    - [`BasePoints(f,L): MapSch, Fld → SetEnum`](maps.md#function-basepoints-mapsch-fld)

    - [`Example: Map Base Points`](maps.md#example-ex-40293b)

    - [`Example: Scroll Map Base Points`](maps.md#example-ex-0c62af)

  - [Maps and Closure](maps.md#maps-and-closure)

    - [`ProjectiveClosure(f): MapSch → MapSch`](maps.md#function-projectiveclosure-mapsch)

    - [`MakeProjectiveClosureMap(A, P, S): Aff, Prj, SeqEnum`](maps.md#function-makeprojectiveclosuremap-aff-prj-seqenum)

    - [`MakePCMap(A, P, S): Aff, Prj, SeqEnum`](maps.md#function-makepcmap-aff-prj-seqenum)

    - [`MakeProjectiveClosureMap(m): Map`](maps.md#function-makeprojectiveclosuremap-map)

    - [`MakePCMap(m): Map`](maps.md#function-makepcmap-map)

    - [`RestrictionToPatch(f,j): MapSch, RngIntElt → MapSch`](maps.md#function-restrictiontopatch-mapsch-rngintelt)

    - [`RestrictionToPatch(f,i,j): MapSch, RngIntElt, RngIntElt → MapSch`](maps.md#function-restrictiontopatch-mapsch-rngintelt-rngintelt)

    - [`Example: Map Patches`](maps.md#example-ex-a968b3)

  - [Automorphisms](maps.md#automorphisms)

    - [`Automorphism(X,F): Sch, SeqEnum → MapAutSch`](maps.md#function-automorphism-sch-seqenum)

    - [`IdentityAutomorphism(X): Sch → MapAutSch`](maps.md#function-identityautomorphism-sch)

    - [`IdentityMap(X): Sch → MapAutSch`](maps.md#function-identitymap-sch-2)

    - [`IsEndomorphism(f): MapSch → BoolElt`](maps.md#function-isendomorphism-mapsch)

    - [`IsAutomorphism(f): MapSch → BoolElt, AutSch`](maps.md#function-isautomorphism-mapsch)

    - [`Example: Automorphism Construction`](maps.md#example-ex-e53b92)

    - [`Example: Aut Aff Jac`](maps.md#example-ex-b48ad5)

    - [Affine Automorphisms](maps.md#affine-automorphisms)

      - [`Automorphism(A,F): Sch, SeqEnum → MapSch`](maps.md#function-automorphism-sch-seqenum-2)

      - [`Automorphism(A,M): Sch, Mtrx → MapIsoSch`](maps.md#function-automorphism-sch-mtrx)

      - [`Translation(A,p): Sch, Pt → MapSch`](maps.md#function-translation-sch-pt)

      - [`PermutationAutomorphism(A, g): Sch, GrpPermElt → MapIsoSch`](maps.md#function-permutationautomorphism-sch-grppermelt)

      - [`Automorphism(A, g): Sch, GrpPermElt → MapIsoSch`](maps.md#function-automorphism-sch-grppermelt)

      - [`Example: Aut Aff Perm`](maps.md#example-ex-ea8d99)

      - [`Automorphism(A,p): Sch, RngMPolElt → IsoSch`](maps.md#function-automorphism-sch-rngmpolelt)

      - [`AffineDecomposition(f): MapSch → MapSch, MapSch`](maps.md#function-affinedecomposition-mapsch)

      - [`Example: Decompose Automorphism`](maps.md#example-ex-2c2ab5)

      - [`NagataAutomorphism(A): Aff → MapSch`](maps.md#function-nagataautomorphism-aff)

      - [`Projectivity(A,M): Aff, Mtrx → MapAutSch`](maps.md#function-projectivity-aff-mtrx)

      - [`Example: projectivity`](maps.md#example-ex-c26942)

    - [Projective Automorphisms](maps.md#projective-automorphisms)

      - [`Automorphism(P,F): Prj, SeqEnum → MapSch`](maps.md#function-automorphism-prj-seqenum)

      - [`Matrix(f): MapSch → Mtrx`](maps.md#function-matrix-mapsch)

      - [`Automorphism(P,M): Sch, Mtrx → MapSch`](maps.md#function-automorphism-sch-mtrx-2)

      - [`Aut(P): Prj → PowAutSch`](maps.md#function-aut-prj)

      - [`AutomorphismGroup(P): Prj → GrpMat, Map`](maps.md#function-automorphismgroup-prj)

      - [`Example: Projective Automorphism Group`](maps.md#example-ex-a5702c)

      - [`TranslationOfSimplex(P,Q): Prj, [Pt] → MapSch`](maps.md#function-translationofsimplex-prj-pt)

      - [`Translation(P,Q): Prj, [Pt] → MapSch`](maps.md#function-translation-prj-pt)

      - [`Translation(P,p,q): Prj, Pt, Pt → MapSch`](maps.md#function-translation-prj-pt-pt)

      - [`Translation(X,p): Sch, Pt → MapSch`](maps.md#function-translation-sch-pt-2)

      - [`Example: translation`](maps.md#example-ex-afaf79)

      - [`QuadraticTransformation(P): Prj → MapSch`](maps.md#function-quadratictransformation-prj)

      - [`QuadraticTransformation(P,Q): Prj, SeqEnum → MapSch`](maps.md#function-quadratictransformation-prj-seqenum)

      - [`QuadraticTransformation(X): Sch → Sch, MapIsoSch`](maps.md#function-quadratictransformation-sch)

      - [`QuadraticTransformation(X,Q): Sch, [Pt] → Sch, MapIsoSch`](maps.md#function-quadratictransformation-sch-pt)

      - [`Example: Cremona Factorisation`](maps.md#example-ex-3caa1e)

  - [Scheme Graph Maps](maps.md#scheme-graph-maps)

    - [`SchemeGraphMap(X, Y, I): Sch, Sch, RngMPol → MapSchGrph`](maps.md#function-schemegraphmap-sch-sch-rngmpol)

    - [`SchemeGraphMapToSchemeMap(f): MapSchGrph → MapSch`](maps.md#function-sch-gr-mp-to-sch-mp)

    - [`IsInvertible(f): MapSchGrph → BoolElt, MapSchGrph`](maps.md#function-isinvertible-mapschgrph)

    - [`Example: Graph Maps`](maps.md#example-ex-19aa45)

- [Tangent and Secant Varieties and Isomorphic Projections](tan-sec-proj.md)

  - [Tangent Varieties](tan-sec-proj.md#tangent-varieties)

    - [`TangentVariety(X): Sch → Sch`](tan-sec-proj.md#function-tangentvariety-sch)

    - [`IsInTangentVariety(X,P): Sch, Pt → BoolElt`](tan-sec-proj.md#function-isintangentvariety-sch-pt)

    - [`Example: Tangent Variety`](tan-sec-proj.md#example-ex-239592)

  - [Secant Varieties](tan-sec-proj.md#secant-varieties)

    - [`SecantVariety(X): Sch → Sch`](tan-sec-proj.md#function-secantvariety-sch)

    - [`IsInSecantVariety(X,P): Sch, Pt → BoolElt`](tan-sec-proj.md#function-isinsecantvariety-sch-pt)

    - [`Example: Secant Variety`](tan-sec-proj.md#example-ex-82e1f9)

  - [Isomorphic Projection to Subspaces](tan-sec-proj.md#isomorphic-projection-to-subspaces)

    - [`IsomorphicProjectionToSubspace(X): Sch → Sch, MapSch`](tan-sec-proj.md#function-isomorphicprojectiontosubspace-sch)

    - [`EmbedPlaneCurveInP3(C): Crv → Sch, MapSch`](tan-sec-proj.md#function-embedplanecurveinp3-crv)

    - [`Example: Embedding A Curve`](tan-sec-proj.md#example-ex-f0b1d5)

- [Linear Systems](linsys.md)

  - [Creation of Linear Systems](linsys.md#creation-of-linear-systems)

    - [Explicit Creation](linsys.md#explicit-creation)

      - [`LinearSystem(P, d): Sch, RngIntElt → LinearSys`](linsys.md#function-linearsystem-sch-rngintelt)

      - [`LinearSystem(P, d): Sch, [RngIntElt] → LinearSys`](linsys.md#function-linearsystem-sch-rngintelt-2)

      - [`LinearSystem(P, F): Sch, SeqEnum[RngMPolElt] → LinearSys`](linsys.md#function-linearsystem-sch-seqenum-rngmpolelt)

      - [`MonomialsOfWeightedDegree(X, D): Sch, [RngIntElt] → SetIndx`](linsys.md#function-monomialsofweighteddegree-sch-rngintelt)

      - [`Example: Linsys Construction`](linsys.md#example-ex-7aa596)

      - [`ImageSystem(f,S,d): MapSch, Sch, RngIntElt → LinearSys`](linsys.md#function-imagesystem-mapsch-sch-rngintelt)

      - [`Example: Image Finder`](linsys.md#example-ex-2e0ca6)

    - [Geometric Restrictions: Points](linsys.md#geometric-restrictions-points)

      - [`LinearSystem(L, p): LinearSys, Point → LinearSys`](linsys.md#function-linearsystem-linearsys-point)

      - [`LinearSystem(L, P): LinearSys, SeqEnum[Point) → LinearSys`](linsys.md#function-linearsystem-linearsys-seqenum-point)

      - [`Example: subsystems`](linsys.md#example-ex-934794)

      - [`LinearSystem(L, p, m): LinearSys, Point, RngIntElt → LinearSys`](linsys.md#function-linearsystem-linearsys-point-rngintelt)

      - [`LinearSystem(L, P, M): LinearSys, SeqEnum[Point), SeqEnum(RngIntElt) → LinearSys`](linsys.md#function-linearsystem-linearsys-seqenum-point-seqenum-rngintelt)

      - [`Example: Subsystems Mult`](linsys.md#example-ex-9b3b7a)

      - [`Example: Subsystems Speed`](linsys.md#example-ex-114b8f)

    - [Geometric Restrictions: Schemes](linsys.md#geometric-restrictions-schemes)

      - [`LinearSystem(L, X : parameters): LinearSys, Sch → LinearSys`](linsys.md#function-linearsystem-linearsys-sch)

      - [`Example: Subsystems Scheme Quadric`](linsys.md#example-ex-96c94f)

      - [`Example: Subsystems Scheme Noncomplete`](linsys.md#example-ex-aeb538)

      - [`Example: Subsystems Scheme Variety`](linsys.md#example-ex-4615cc)

      - [`Example: Subsystems Scheme Affvproj`](linsys.md#example-ex-8af960)

    - [Geometric Restrictions: Affine Plane Curves with Non-ordinary Singularities](linsys.md#geometric-restrictions-affine-plane-curves-with-non-ordinary-singularities)

      - [`LinearSystem(L, p, m, t): LinearSys, Point, SeqEnum, SeqEnum[SeqEnum]) → LinearSys`](linsys.md#function-linearsystem-linearsys-point-seqenum-seqenum-seqenum)

      - [`LinearSystem(L, P, M, T): LinearSys, Points, SeqEnum[SeqEnum], SeqEnum[SeqEnum[SeqEnum]]) → LinearSys`](linsys.md#function-linearsystem-linearsys-points-seqenum-seqenum-seqenum-seqenum-seqenum)

      - [`Example: tacnode`](linsys.md#example-ex-766e2f)

      - [`Example: quadrifolium`](linsys.md#example-ex-63a6fd)

      - [`Example: Cusp Sing`](linsys.md#example-ex-faf2b2)

      - [`Example: Two Cubics`](linsys.md#example-ex-89e6c4)

      - [`Example: Pencil Curves`](linsys.md#example-ex-0bb25b)

    - [Geometric Restrictions: Trace on a Scheme](linsys.md#geometric-restrictions-trace-on-a-scheme)

      - [`LinearSystemTrace(L, X): LinearSys, Sch → LinearSys`](linsys.md#function-linearsystemtrace-linearsys-sch)

      - [`Example: trace`](linsys.md#example-ex-932066)

    - [Explicit Restrictions](linsys.md#explicit-restrictions)

      - [`LinearSystem(L,F): LinearSys, SeqEnum → LinearSys`](linsys.md#function-linearsystem-linearsys-seqenum)

      - [`LinearSystem(L,V): LinearSys, ModTupFld → LinearSys`](linsys.md#function-linearsystem-linearsys-modtupfld)

  - [Basic Algebra of Linear Systems](linsys.md#basic-algebra-of-linear-systems)

    - [Tests for Linear Systems](linsys.md#tests-for-linear-systems)

      - [`Ambient(L): LinearSys → Prj`](linsys.md#function-ambient-linearsys)

      - [`AmbientSpace(L): LinearSys → Prj`](linsys.md#function-ambientspace-linearsys)

      - [`L eq K: LinearSys, LinearSys → BoolElt`](linsys.md#operation-op-eq-linearsys-linearsys)

      - [`IsComplete(L): LinearSys → BoolElt`](linsys.md#function-iscomplete-linearsys)

      - [`IsBasePointFree(L): LinearSys → BoolElt`](linsys.md#function-isbasepointfree-linearsys)

      - [`IsFree(L): LinearSys → BoolElt`](linsys.md#function-isfree-linearsys)

    - [Geometrical Properties](linsys.md#geometrical-properties)

      - [`Sections(L): LinearSys → SeqEnum`](linsys.md#function-sections-linearsys)

      - [`Random(LS): LinearSys → RngMPolElt`](linsys.md#function-random-linearsys)

      - [`Degree(L): LinearSys → RngIntElt`](linsys.md#function-degree-linearsys)

      - [`Dimension(L): LinearSys → RngIntElt`](linsys.md#function-dimension-linearsys)

      - [`BaseScheme(L): LinearSys → SchProj`](linsys.md#function-basescheme-linearsys)

      - [`BaseComponent(L): LinearSys → SchProj`](linsys.md#function-basecomponent-linearsys)

      - [`Reduction(L): LinearSys → LinearSys`](linsys.md#function-reduction-linearsys)

      - [`Example: Ls Reduction`](linsys.md#example-ex-ad2e4b)

      - [`BasePoints(L): LinearSys → SeqEnum`](linsys.md#function-basepoints-linearsys)

      - [`Multiplicity(L,p): LinearSys, Pt → RngIntElt`](linsys.md#function-multiplicity-linearsys-pt)

    - [Linear Algebra](linsys.md#linear-algebra)

      - [`CoefficientSpace(L): LinearSys → ModTupFld`](linsys.md#function-coefficientspace-linearsys)

      - [`CoefficientMap(L): LinearSys → ModTupFldElt`](linsys.md#function-coefficientmap-linearsys)

      - [`PolynomialMap(L): LinearSys → RngMPolElt`](linsys.md#function-polynomialmap-linearsys)

      - [`Complement(L,K): LinearSys, LinearSys → LinearSys`](linsys.md#function-complement-linearsys-linearsys)

      - [`Complement(L,X): LinearSys, Sch → LinearSys`](linsys.md#function-complement-linearsys-sch)

      - [`Example: Creation By Subspace`](linsys.md#example-ex-0ff141)

      - [`L meet K: LinearSys, LinearSys → LinearSys`](linsys.md#operation-op-meet-linearsys-linearsys)

      - [`Intersection(L,K): LinearSys, LinearSys → LinearSys`](linsys.md#function-intersection-linearsys-linearsys)

      - [`X in L: Sch, LinearSys → BoolElt`](linsys.md#operation-op-in-sch-linearsys)

      - [`f in L: RngMPolElt, LinearSys → BoolElt`](linsys.md#operation-op-in-rngmpolelt-linearsys)

      - [`K subset L: LinearSys, LinearSys → BoolElt`](linsys.md#operation-op-subset-linearsys-linearsys)

      - [`IsSubsystem(L,K): LinearSys, LinearSys → BoolElt`](linsys.md#function-issubsystem-linearsys-linearsys)

  - [Linear Systems and Maps](linsys.md#linear-systems-and-maps)

    - [`Pullback(f,L): MapSch, LinearSys → LinearSys`](linsys.md#function-pullback-mapsch-linearsys)

- [Divisors](scheme-divisors.md)

  - [Divisor Groups](scheme-divisors.md#divisor-groups)

    - [`DivisorGroup(X): Sch → DivSch`](scheme-divisors.md#function-divisorgroup-sch)

    - [`Variety(G): DivSch → Sch`](scheme-divisors.md#function-variety-divsch)

    - [`G1 eq G2: DivSch, DivSch → BoolElt`](scheme-divisors.md#operation-op-eq-divsch-divsch)

  - [Creation Of Divisors](scheme-divisors.md#creation-of-divisors)

    - [`Divisor(X,f): Sch, FldFunFracSchElt → DivSchElt`](scheme-divisors.md#function-divisor-sch-fldfunfracschelt)

    - [`Divisor(X,f): Sch, FldFunRatMElt → DivSchElt`](scheme-divisors.md#function-divisor-sch-fldfunratmelt)

    - [`Divisor(X,f): Sch, RngMPolElt → DivSchElt`](scheme-divisors.md#function-divisor-sch-rngmpolelt)

    - [`Divisor(X,Q): Sch, SeqEnum → DivSchElt`](scheme-divisors.md#function-divisor-sch-seqenum)

    - [`Divisor(X,Y): Sch, Sch → DivSchElt`](scheme-divisors.md#function-divisor-sch-sch)

    - [`Divisor(X,I): Sch, RngMPol → DivSchElt`](scheme-divisors.md#function-divisor-sch-rngmpol)

    - [`HyperplaneSectionDivisor(X): Sch → DivSchElt`](scheme-divisors.md#function-hyperplanesectiondivisor-sch)

    - [`ZeroDivisor(X): Sch → DivSchElt`](scheme-divisors.md#function-zerodivisor-sch)

    - [`CanonicalDivisor(X): Sch → DivSchElt`](scheme-divisors.md#function-canonicaldivisor-sch)

    - [`SheafToDivisor(S): ShfCoh → DivSchElt`](scheme-divisors.md#function-sheaftodivisor-shfcoh)

    - [`RoundDownDivisor(D): DivSchElt → DivSchElt`](scheme-divisors.md#function-rounddowndivisor-divschelt)

    - [`RoundUpDivisor(D): DivSchElt → DivSchElt`](scheme-divisors.md#function-roundupdivisor-divschelt)

    - [`FractionalPart(D): DivSchElt → DivSchElt`](scheme-divisors.md#function-fractionalpart-divschelt)

    - [`IntegralMultiple(D): DivSchElt → DivSchElt, RngIntElt`](scheme-divisors.md#function-integralmultiple-divschelt)

    - [`EffectiveHypersurfaceTwist(D): DivSchElt → DivSchElt, RngMPolElt`](scheme-divisors.md#function-effectivehypersurfacetwist-divschelt)

  - [Ideals and Factorisations](scheme-divisors.md#ideals-and-factorisations)

    - [`Ideal(D): DivSchElt → RngMPol`](scheme-divisors.md#function-ideal-divschelt)

    - [`Support(D): DivSchElt → Sch`](scheme-divisors.md#function-support-divschelt)

    - [`IdealOfSupport(D): DivSchElt → RngMPol`](scheme-divisors.md#function-idealofsupport-divschelt)

    - [`SignDecomposition(D): DivSchElt → DivSchElt, DivSchElt`](scheme-divisors.md#function-signdecomposition-divschelt)

    - [`IdealFactorisation(D): DivSchElt → SeqEnum`](scheme-divisors.md#function-idealfactorisation-divschelt)

    - [`CombineIdealFactorisation(~D): DivSchElt`](scheme-divisors.md#function-combineidealfactorisation-divschelt-ref)

    - [`ComputeReducedFactorisation(~D): DivSchElt`](scheme-divisors.md#function-computereducedfactorisation-divschelt-ref)

    - [`ReducedFactorisation(D): DivSchElt → SeqEnum`](scheme-divisors.md#function-reducedfactorisation-divschelt)

    - [`ComputePrimeFactorisation(~D): DivSchElt`](scheme-divisors.md#function-computeprimefactorisation-divschelt-ref)

    - [`PrimeFactorisation(D): DivSchElt → SeqEnum`](scheme-divisors.md#function-primefactorisation-divschelt)

    - [`Multiplicity(D,E): DivSchElt, DivSchElt → FldRatElt`](scheme-divisors.md#function-multiplicity-divschelt-divschelt)

    - [`MultiplicityFast(D,E): DivSchElt, DivSchElt → FldRatElt`](scheme-divisors.md#function-multiplicityfast-divschelt-divschelt)

    - [`Multiplicities(D,P): DivSchElt, SeqEnum[DivSchElt] → SeqEnum`](scheme-divisors.md#function-multiplicities-divschelt-seqenum-divschelt)

    - [`Example: Sch Div Mults`](scheme-divisors.md#example-ex-ce56dc)

  - [Basic Divisor Predicates](scheme-divisors.md#basic-divisor-predicates)

    - [`IsZeroDivisor(D): DivSchElt → BoolElt`](scheme-divisors.md#function-iszerodivisor-divschelt)

    - [`IsIntegral(D): DivSchElt → BoolElt`](scheme-divisors.md#function-isintegral-divschelt)

    - [`IsEffective(D): DivSchElt → BoolElt`](scheme-divisors.md#function-iseffective-divschelt)

    - [`IsPrime(D): DivSchElt → BoolElt`](scheme-divisors.md#function-isprime-divschelt)

    - [`IsFactorisationPrime(D): DivSchElt → BoolElt`](scheme-divisors.md#function-isfactorisationprime-divschelt)

    - [`IsDivisible(D): DivSchElt → BoolElt, RngIntElt`](scheme-divisors.md#function-isdivisible-divschelt)

  - [Arithmetic of Divisors](scheme-divisors.md#arithmetic-of-divisors)

    - [`D1 + D2: DivSchElt, DivSchElt → DivSchElt`](scheme-divisors.md#operation-op-plus-divschelt-divschelt)

    - [`D1 + D2: DivSchElt, DivTorElt → DivSchElt`](scheme-divisors.md#operation-op-plus-divschelt-divtorelt)

    - [`D1 + D2: DivTorElt, DivTorElt → DivSchElt`](scheme-divisors.md#operation-op-plus-divtorelt-divtorelt)

    - [`D1 - D2: DivSchElt, DivSchElt → DivSchElt`](scheme-divisors.md#operation-op-minus-divschelt-divschelt)

    - [`D1 - D2: DivSchElt, DivTorElt → DivSchElt`](scheme-divisors.md#operation-op-minus-divschelt-divtorelt)

    - [`D1 - D2: DivTorElt, DivSchElt → DivSchElt`](scheme-divisors.md#operation-op-minus-divtorelt-divschelt)

    - [`- D: DivSchElt → DivSchElt`](scheme-divisors.md#operation-operation-divschelt-divschelt)

    - [`n * D: RngIntElt, DivSchElt → DivSchElt`](scheme-divisors.md#operation-op-times-rngintelt-divschelt)

    - [`r * D: FldRatElt, DivSchElt → DivSchElt`](scheme-divisors.md#operation-op-times-fldratelt-divschelt)

    - [`D1 eq D2: DivSchElt, DivSchElt → BoolElt`](scheme-divisors.md#operation-op-eq-divschelt-divschelt)

  - [Further Divisor Properties](scheme-divisors.md#further-divisor-properties)

    - [`IsCanonical(D): DivSchElt → BoolElt`](scheme-divisors.md#function-iscanonical-divschelt)

    - [`IsAnticanonical(D): DivSchElt → BoolElt`](scheme-divisors.md#function-isanticanonical-divschelt)

    - [`IsCanonicalWithTwist(D): DivSchElt → BoolElt, RngIntElt`](scheme-divisors.md#function-iscanonicalwithtwist-divschelt)

    - [`IsPrincipal(D): DivSchElt → BoolElt, FldFunFracSchElt`](scheme-divisors.md#function-isprincipal-divschelt)

    - [`IsCartier(D): DivSchElt → BoolElt`](scheme-divisors.md#function-iscartier-divschelt)

    - [`Example: Divs Cartier Ex`](scheme-divisors.md#example-ex-8f4659)

    - [`IsLinearlyEquivalent(D,E): DivSchElt, DivSchElt → BoolElt, FldFunFracSchElt`](scheme-divisors.md#function-islinearlyequivalent-divschelt-divschelt)

    - [`BaseLocus(D): DivSchElt → Sch`](scheme-divisors.md#function-baselocus-divschelt)

    - [`IsBasePointFree(D): DivSchElt → BoolElt`](scheme-divisors.md#function-isbasepointfree-divschelt)

    - [`IsMobile(D): DivSchElt → BoolElt`](scheme-divisors.md#function-ismobile-divschelt)

    - [`IntersectionNumber(D1,D2): DivSchElt, DivSchElt → FldRatElt`](scheme-divisors.md#function-intersectionnumber-divschelt-divschelt)

    - [`SelfIntersection(D): DivSchElt → FldRatElt`](scheme-divisors.md#function-selfintersection-divschelt)

    - [`Degree(D): DivSchElt → FldRatElt`](scheme-divisors.md#function-degree-divschelt)

    - [`Degree(D,H): DivSchElt, DivSchElt → FldRatElt`](scheme-divisors.md#function-degree-divschelt-divschelt)

    - [`IsNef(D): DivSchElt → BoolElt`](scheme-divisors.md#function-isnef-divschelt)

    - [`IsNefAndBig(D): DivSchElt → BoolElt`](scheme-divisors.md#function-isnefandbig-divschelt)

    - [`NegativePrimeDivisors(D): DivSchElt → SeqEnum`](scheme-divisors.md#function-negativeprimedivisors-divschelt)

    - [`ZariskiDecomposition(D): DivSchElt → DivSchElt, DivSchElt`](scheme-divisors.md#function-zariskidecomposition-divschelt)

    - [`Reduction(D,p): DivSchElt, Any → DivSchElt`](scheme-divisors.md#function-reduction-divschelt-any)

  - [Riemann-Roch Spaces](scheme-divisors.md#riemann-roch-spaces)

    - [`Sheaf(D): DivSchElt → ShfCoh`](scheme-divisors.md#function-sheaf-divschelt)

    - [`RiemannRochBasis(D): DivSchElt → SeqEnum`](scheme-divisors.md#function-riemannrochbasis-divschelt)

    - [`RiemannRochSpace(D): DivSchElt → ModTupFld, Map`](scheme-divisors.md#function-riemannrochspace-divschelt)

    - [`RiemannRochCoordinates(f,D): Any, DivSchElt → BoolElt, SeqEnum`](scheme-divisors.md#function-riemannrochcoordinates-any-divschelt)

    - [`IsLinearSystemNonEmpty(D): DivSchElt → BoolElt, DivSchElt`](scheme-divisors.md#function-islinearsystemnonempty-divschelt)

- [Isolated Points on Schemes](scheme-isolated-points.md)

  - [`LinearElimination(S): Sch → Map`](scheme-isolated-points.md#function-linearelimination-sch)

  - [`IsolatedPointsFinder(S,P): Sch, SeqEnum → List`](scheme-isolated-points.md#function-isolatedpointsfinder-sch-seqenum)

  - [`IsolatedPointsLifter(S,P): Sch, SeqEnum → BoolElt, Pt`](scheme-isolated-points.md#function-isolatedpointslifter-sch-seqenum)

  - [`IsolatedPointsLiftToMinimalPolynomials(S,P): Sch, SeqEnum → BoolElt, SeqEnum`](scheme-isolated-points.md#function-isolatedpointslifttominimalpolynomials-sch-seqenum)

  - [`Example: Ec Large Int Pts`](scheme-isolated-points.md#example-ex-f7d305)

  - [`Example: Halls Conjecture`](scheme-isolated-points.md#example-ex-0b5832)

  - [`Example: Random Linear Scheme`](scheme-isolated-points.md#example-ex-b50f35)

  - [`Example: Mathieu Monodromy`](scheme-isolated-points.md#example-ex-20eb23)

- [Advanced Examples](scheme-advanced.md)

  - [A Pair of Twisted Cubics](scheme-advanced.md#a-pair-of-twisted-cubics)

    - [`Example: Twisted Cubics`](scheme-advanced.md#example-ex-269de3)

  - [Curves in Space](scheme-advanced.md#curves-in-space)

    - [`Example: Curves In Space`](scheme-advanced.md#example-ex-31b8fc)
