Let f1, ..., fr be homogeneous polynomials of some common degree d on some projective space ( P) defined over a field. The set of hypersurfaces
a1f1 + ... + arfr = 0
where the ais are elements of the base field of ( P) is an example of a linear system. This can be thought of as being the vector space of elements (a1, ..., ar) or even the projectivisation of that space (since multiplying the equation above by a constant doesn't change the hypersurface it defines and the equation 0=0 doesn't define a hypersurface at all). The same is true if f1, ..., fr are a finite collection of polynomials defined on some affine space.
All linear systems in Magma arise in a similar way to the above example. It doesn't matter whether the linear system is considered to be the collection of hypersurfaces or the collection of homogeneous polynomials or the vector space of coefficients; Magma allows each of these interpretations and the distinction is blurred in the text below. One should note that linear systems in Magma are being used in a very elementary way: compare with the discussion on plane conics and cubics in the first two chapters of Reid's Student Text [Rei88].
Immediate applications of linear systems arise because of their close relationship to maps (consider the map to an r - 1-dimensional projective space defined by the polynomials f1, ..., fr) and their application to the extrapolation a scheme of some particular degree from a set of points lying on it or some subscheme of it.
More ambitious interpretations, as the zero-th coherent cohomology group of an invertible sheaf for instance, cannot be realised explicitly in Magma except inasmuch as the user can understand input and output easily in these terms. There is no analysis of linear systems on general schemes and so, in particular, no analysis of exact sequences of cohomology groups.
We give a brief description of the way in which linear systems work in Magma, an approach which echoes the more general definition. The complete linear system on ( P) of degree d is the collection of all homogeneous polynomials of degree d on ( P), or equivalently, the degree d hypersurfaces they define. Magma does not consider this to be a unique object: each time such a system is created, a completely new object will be created distinct from any previous creation. Its major attributes include a particular basis of degree d polynomials, which is always the standard monomial basis, and a vector space whose vectors correspond to the coefficients of a polynomial with respect to this basis. The vector space is called the coefficient space of the linear system. There are comparison maps: one to produce the vector of coefficients of polynomials with respect to the given basis and one to create a polynomial from a vector of coefficients. Most questions involving the analysis of linear systems are translated into the linear algebra setting, solved there and then translated back.
A general linear system corresponds to some vector subspace of the coefficient space of a complete linear system. The correspondence between vectors of coefficients and polynomials are computed at the level of the complete systems so that any two subsystems interpret coefficient vectors with respect to the same basis of polynomials.
In practice, linear systems are not often created explicitly by hand. Typically, the complete linear system of all hypersurfaces of a given degree is created and then restricted by the imposition of geometrical conditions. For example, such a condition could require that all hypersurfaces pass through a particular point.
The creation methods below are split into three classes: (i) explicit initial creation methods; (ii) methods of imposing geometrical conditions; and (iii) creation of subsystems by nominating specific technical data calculated in advance by the user.
Initially, we present three methods by which a linear system can be created. The complete linear system of degree d whose sections are all monomials of that degree has a special creation function. Alternatively, a sequence of monomials of some common degree can be specified to generate the sections of a linear system. The third constructor is useful for calculating the images of maps and has been seen before: given a scheme S and a map f it calculates the linear system of hypersurfaces which contain f(S).
The complete linear system on the affine or projective space P of degree d. In the projective case, this is the space of all homogeneous polynomials of degree d on P, whereas in the affine case it includes all polynomials of degree no bigger than d. The integer d must be strictly positive.
The complete linear system on the affine or projective space P of multi-degree d. The length of d must be the number of gradings of P, i.e. one degree for each grading. In the projective case, this is the space of all homogeneous polynomials of degree d on P, whereas in the affine case it includes all polynomials of degree no bigger than d. The integers in d must be strictly positive.
If P is a projective space and F is a sequence of homogeneous polynomials all of the same degree defined on P, or if P is an affine space and F is a sequence of polynomials defined on P this returns the linear system generated by these polynomials. If the polynomials in F are linearly independent they will be used as a basis of the sections of the resulting linear system, otherwise a new basis will be computed.
Return the monomials in the coordinate ring of the ambient of X having degree D[i] with respect to the ith grading of the ambient of X.
> P<x,y,z> := ProjectiveSpace(Rationals(),2); > L := LinearSystem(P,1); > K := LinearSystem(P,[x+y,x-y,z+2*z+3*y]); > L eq K; true
The linear system on the codomain of the map of schemes f consisting of degree d hypersurfaces which contain f(S). An error is reported if the scheme S does not lie in the domain of f.
The curve C has one singularity analytically equivalent to the cusp u2 = v5 so is well-known to have genus 4.
> Q := RationalField(); > P<x,y,z> := ProjectiveSpace(Q,2); > C := Curve(P,x^5 + y^4*z + y^2*z^3);The canonical embedding of C is therefore given by four conics having a common tangent with the curve at its singularity.
> P3<a,b,c,d> := ProjectiveSpace(Q,3); > phi := map< P -> P3 | [x^2,x*y,y^2,y*z] >;Unless C is hyperelliptic, its canonical image will be the complete intersection of a conic and a cubic in ( P)3.
> IC2 := Image(phi,C,2); > IC3 := Image(phi,C,3); > X := Intersection(IC2,IC3); > Dimension(X); 1 > IsNonsingular(X); true > MinimalBasis(X); [ a*c - b^2, a^2*b + c^2*d + d^3 ]In this case the Gröbner basis of X has six elements so it is not so helpful for human comprehension. (Compare this with [Hartshorne, IV, Example 5.2.2].)
Consider the following example. Suppose that L is a linear system on the projective plane whose sections are generated by the monomials x2, xy, yz and let p=(1:0:0). The phrase `one imposes the condition on sections of L that they pass through the point p' refers to the construction of the subsystem of L, all of whose hypersurfaces pass through p. Explicitly, this involves solving the linear equation in a,b,c obtained by evaluating the equation
ax2 + bxy + cyz = 0
at the point p. In this example, the equation is a=0 and the required subsystem is the one whose sections are generated by xy and yz.
The functions described in this section all determine a linear subsystem of a given linear system by imposing conditions on the sections of that system.
Given a point p or a sequence S of points, create the subsystem of the linear system L comprising those hypersurfaces of L which pass through p or the points of S.
Create the subsystem of the linear system L comprising hypersurfaces which pass through the point p with multiplicity at least m.
> P<x,y,z> := ProjectiveSpace(Rationals(),2); > L := LinearSystem(P,6); > p1 := P ! [1,0,0]; > p2 := P ! [0,1,0]; > p3 := P ! [0,0,1]; > p4 := P ! [1,1,1]; > L1 := LinearSystem(L,p1,3); > L2 := LinearSystem(L1,p2,3); > L3 := LinearSystem(L2,p3,3); > L4 := LinearSystem(L3,p4,2); > #Sections(L4); 7 > C := Curve(P,&+[ Random([1,2,3])*s : s in Sections(L4) ]); > IsIrreducible(C); true > Genus(C); 0In other words, L4 parametrises a six-dimensional family of rational plane curves. (At least, the general element of L4 is the equation of a rational plane curve --- there are certainly degenerate sections which factorise so don't define an irreducible curve at all.) It would be nice to be able to parametrise one of these curves. The problem is that we need to choose a general one in order that it be irreducible, but on the other hand we have very little chance of finding a rational point of a general curve. However, since this family is nice and big, we can simply impose another point condition on it yielding a rational point on each of the restricted elements.
> p5 := P ! [2,1,1]; > L5 := LinearSystem(L4,P![2,1,1]); > C := Curve(P,&+[ Random([1,2,3])*s : s in Sections(L5) ]); > IsIrreducible(C); true > Genus(C); 0 > L<u,v> := ProjectiveSpace(Rationals(),1); > phi := Parametrization(C, Place(C!p5), Curve(L)); > Ideal(Image(phi)) eq Ideal(C); trueTo illustrate another feature of imposing point conditions on linear systems, we use a point that is not in the base field of the ambient space. Linear systems on an ambient spaces are defined over its base field, so nonrational points impose conditions as the union of their Galois conjugates.
> A<x,y> := AffineSpace(FiniteField(2),2); > L := LinearSystem(A,2); > L; Linear system on Affine Space of dimension 2 Variables : x, y with 6 sections: 1 x y x^2 x*y y^2 > k1<w> := ext< BaseRing(A) | 2> ; > p := A(k1) ! [1,w]; > p; (1, w) > LinearSystem(L,p); Linear system on Affine Space of dimension 2 Variables : x, y with 4 sections: x^2 + 1 x*y + y x + 1 y^2 + y + 1 > k2<v> := ext< BaseRing(A) | 3> ; > q := A(k2) ! [1,v]; > LinearSystem(L,q); Linear system on Affine Space of dimension 2 Variables : x, y with 3 sections: x^2 + 1 x*y + y x + 1Note the minimal polynomial of the y coordinate of the point (1, w) is of degree 2 so is visible in the restricted linear system. On the other hand, v is of order 3 so it imposes more conditions on the linear system.
The subsystem of the linear system L comprising elements of L which contain the scheme X. The sections of this linear system is equal to the polynomials of the defining ideal of X whose homogeneous degree is the same as that of L.
The trace of the linear system L on the scheme X which lies in the ambient space of L. This merely simulates the restriction of the linear system L on X by taking the sections of L modulo the equations of X. The result is still a linear system on the common ambient space.
> P<x,y,z,t> := ProjectiveSpace(Rationals(),3); > L := LinearSystem(P,3); > X := Scheme(P,[x*z-y^2,x*t-y*z,y*t-z^2]); > #Sections(L); 20 > L1 := LinearSystemTrace(L,X); > #Sections(L1); 10Taking the sections of L modulo the equations of X reduces the dimension of the space of sections by 10. Of course, there is a choice being made about which particular trace sections to use --- in the end, the computation is that of taking a complement in a vector space of some vector subspace.
Since we recognise this scheme X as the image of a projective line, we can confirm that the result is correct. We make a map from the projective line to the space P which has image X. Then we check that the pullback L and L1 are equal on the projective line. In fact, since the linear system embedding the line is the complete system of degree 3, and L comprises degree 3 hypersurfaces on P, both pullbacks should give the complete linear system on the line of degree 3 x 3=9. (The intrinsic Pullback is defined in Section Linear Systems and Maps.)
> P1<u,v> := ProjectiveSpace(BaseRing(P),1); > phi := map< P1 -> P | [u^3,u^2*v,u*v^2,v^3] >; > Ideal(phi(P1)) eq Ideal(X); true > Pullback(phi,L) eq Pullback(phi,L1); true > Pullback(phi,L1); Linear system on Projective Space of dimension 1 Variables : u, v with 10 sections: u^9 u^8*v u^7*v^2 u^6*v^3 u^5*v^4 u^4*v^5 u^3*v^6 u^2*v^7 u*v^8 v^9
The subsystem of the linear system L generated by the polynomials in the sequence F. An error results if the polynomials of F are not already sections of L. As before, the polynomials in F are used as a basis of the sections of the resulting linear system provided they are linearly independent, otherwise a new basis is computed.
The subsystem of the linear system L determined by the subspace V of the complete coefficient space of L. It is an error to call this if V is not a subspace of the coefficient space of L.
This section presents functions for the following tasks: (i) assessing properties of the data type; (ii) geometrical properties of linear systems; (iii) linear algebra operations.
The projective space on which the linear system L is defined.
Returns true if and only if the linear systems L and K are equal if considered as linear subsystems of some complete linear system. An error results if L and K lie in different complete linear systems.
Returns true if and only if the linear system L is the complete linear system of polynomials of some degree.
Returns true if and only if the linear system L has no base points.
A sequence whose elements form basis of the sections of the linear system L. By definition, this is a maximal set of linearly independent polynomials which are elements of L.
If the base field of LS admits random elements then this returns a random element of the space of sections in the linear system LS. If the base field is the rational field, then a section having small random rational coefficients is defined. Otherwise, if there is no random element generator for the base field, the zero section is returned.
The degree of the sections of the linear system L.
The projective dimension of the linear system L. This is the maximal number of linearly independent sections of L minus 1.
The base scheme of the linear system L. This is simply the scheme defined by the sections of L. This function does not perform any tests on this scheme; it might be empty for example.
The hypersurface common to all the elements of the linear system L.
The linear system L with its codimension 1 base locus removed. In other words, the linear system defined by the sections of L after common factors are removed.
> P<x,y,z> := ProjectiveSpace(Rationals(),2); > L := LinearSystem(P,6); > p1 := P ! [1,0,0]; > p2 := P ! [0,1,0]; > p3 := P ! [0,0,1]; > L1 := LinearSystem(L,p1,4); > L2 := LinearSystem(L1,p2,3); > L3 := LinearSystem(L2,p3,2); > Sections(L3); [ x^2*y^3*z, x^2*y^2*z^2, x^2*y*z^3, x^2*z^4, x*y^3*z^2, x*y^2*z^3, x*y*z^4, y^3*z^3, y^2*z^4 ] > BaseComponent(L3); Scheme over Rational Field defined by zBut notice that every section is divisible by z. So the curve z=0 is in the base locus of this linear system, that is, it is contained in every curve in the linear system L3. The intrinsic BaseComponent identifies this component. The intrinsic Reduction creates a new linear system by removing this codimension 1 base locus, as is seen below. First, however, we look at the complete set of prime components of the base scheme and see that, while there is only one codimension 1 component which we already know, there is another component in higher codimension. When we reduce to remove the base component, this other piece of the base scheme remains, and other codimension 2 components also appear.
> MinimalPrimeComponents(BaseScheme(L3)); [ Scheme over Rational Field defined by z, Scheme over Rational Field defined by x y ] > L4 := Reduction(L3); > Sections(L4); [ x^2*y^3, x^2*y^2*z, x^2*y*z^2, x^2*z^3, x*y^3*z, x*y^2*z^2, x*y*z^3, y^3*z^2, y^2*z^3 ] > MinimalPrimeComponents(BaseScheme(L4)); [ Scheme over Rational Field defined by x y, Scheme over Rational Field defined by x z, Scheme over Rational Field defined by y z ] > [ RationalPoints(Z) : Z in $1 ]; [ {@ (0 : 0 : 1) @}, {@ (0 : 1 : 0) @}, {@ (1 : 0 : 0) @} ]The linear system L4 has sections which are visibly those of L3 but with a single factor of z removed. It still has base locus but now that base locus comprises only points. Not surprisingly, it is exactly the three points which we imposed on curves in the first place.
A sequence containing the basepoints of the linear system L if the base locus of L is finite dimensional.
The generic multiplicity of hypersurfaces of the linear system L at the point p.
The vector space corresponding to the linear system L whose vectors comprise the coefficients of the polynomial sections of L.
The map from the polynomial ring that is the parent of the sections of the linear system L to the coefficient space of L. When evaluated at a polynomial f, this map will return vector of coefficients of f as a section of L.
The map from the coefficient space of the linear system L to the polynomial ring that is the parent of the sections of L. When evaluated at a vector v, this map will return the polynomial section of L whose coefficients with respect to the basis of L are v.
A maximal subsystem of the linear system L which does not contain any of the hypersurfaces of the linear system K.
A maximal subsystem of the linear system L comprising hypersurfaces not containing X.
> A<x,y> := AffineSpace(FiniteField(2),2); > L := LinearSystem(A,[x^2-y^2,x^2,y^2]); > VL := CoefficientSpace(L); > VL; KModule VL of dimension 2 over GF(2) > W := sub< VL | VL.1 >; > LinearSystem(L,W); Linear system on Affine Space of dimension 2 Variables : x, y with 1 section: x^2 > phi := PolynomialMap(L); > [ phi(v) : v in Basis(VL) ]; [ x^2, y^2 ]Thus we see that Magma has chosen the obvious polynomial basis for the sections of L and disregarded the section x2 - y2.
The linear system whose coefficient space is the intersection of the coefficient spaces of the linear systems L and K. An error is reported unless L and K lie in the same complete linear system.
Returns true if and only if the scheme X occurs among the hypersurfaces comprising the linear system L.
Returns true if and only if the polynomial f is a section of the linear system L. That is, true if and only if f is in the linear span of the basis of sections defining L.
Returns true if and only if the coefficient space of the linear system K is contained in that of the linear system L. An error is reported if L and K do not lie in a common linear system.
The sequence of sections of a linear system may be used to construct a map from the projective space on which the sections are defined to another having the appropriate dimension. This is done directly using the map constructor as in Section Maps between Schemes. For example, if L is a linear system on some projective space P then the corresponding map can be created as follows.
> map< P -> Q | S > > where Q is ProjectiveSpace(BaseRing(P),#S-1) > where S is Sections(L);There is not a proper inverse to this operation: there is no reason why a map should be determined by linearly independent polynomials. However, the system determined by the polynomials defining a map is still important. It is sometimes called the homoloidal system of the map.
The linear system f^ * L on the domain of the map of schemes f where L is a linear system on the codomain of f. This requires care when f is not a regular map: it really produces the system of homaloids, that is, the substitution of the map equations into the linear system's sections.[Next][Prev] [Right] [Left] [Up] [Index] [Root]