## Posts filed under ‘commutative algebra’

### Computing Gröbner bases in Haskell

I wrote a small package to compute Gröbner bases in Haskell with the Buchberger algorithm (with applications to variable elimination). Performance is quite bad compared to specialised software like Macaulay, but it seems to work ! I put a Cabal package here. Maybe I’ll add several functions afterwards.

A testcase :
import Data.Polynomial
import Data.Ring
import Algebra.GroebnerBasis
import Algebra.Elimination
type R = Polynom QQ VarXYZ
[x,y,z,t,u,v] = map returnp [X,Y,Z,T,U,V] :: [R]
-- projection from a point on the intersection of quadrics
main = do
print $step_eliminate [T]$ MakeIdeal
[x^2 - 3*y*z + z*t + 2*x*t,
z^2 + 5*y^2 + z*x - 2*t*z]

The output should be :
[x*y^2+2/5*x^2*z+1/2*y^2*z+3/10*x*z^2+-3/5*y*z^2+1/10*z^3]

### Schemes in algebraic geometry 3 : glued schemes and sheaves

André Weil was among the first ones to point out the importance of having a local description of varieties, especially projective spaces, which can always locally be described as an affine space with completion by a hyperplane at infinity, and projective varieties, which similarly look like varieties in affine space. The use of sheaves in local description of spaces was magnified by Cartan and Serre, in the context of complex analytic spaces, and generalised to the algebraic setting by Serre in Faisceaux algébriques cohérents.

The projective space is the simplest example of an algebro-geometric object which cannot be described by the prime spectrum or the functor of points of a ring. For example, there is no obvious ring whose ideals describe varieties in projective space, which come from homogeneous equations. We would like to give a correct definition of gluing affine lines (with coordinates $z$ and $1/z$) to define the projective line $\mathbb P^1$ as the gluing of $\mathbb A^1$ with $\mathbb A^1 \to \mathbb P^1$ given by $z \mapsto 1/z$. For functors of points, the latest article by Alain Connes and Caterina Consani, gives a definition. For prime spectra, one has to be aware that gluing only topological spaces do not give meaningful information on algebraic properties. This is illustrated by the case of differentiable manifolds, which are not the same as topological manifolds: gluing differentiable manifolds has to induce a correspondance between differentiable functions (this is equivalent to the requirement that gluing maps between charts be differentiable).
(more…)

### Schemes in algebraic geometry 2 : prime spectra and generic points

I just explained how the affine plane could be described by the ring $\mathbb Z[x,y]$. A point M of the affine plane whose coordinate ring is R is a morphism $\mathbb Z[x,y] \to R$ defined by the assignment $P \mapsto P(a,b) \in R$, where $(a,b)$ are the coordinates of M. In the case of points corresponding to morphisms $\mathbb Z[x,y] \to \mathbb Z$, there is a natural way of recovering the point from the ring morphism by looking at his equations, which are elements of the kernel of the morphism. If M satisfies the equations $x=a$ and $y=b$, then M has the form $(a,b)$. This motivates the abstract definition of point of the affine plane as a morphism $\mathbb Z[x,y] \to R$ to some ring.

Conversely, the set of equations of M defines a canonically associated point $p_M$, which is the morphism $\mathbb Z[x,y] \to \mathbb Z[x,y]/I$, where $I$ is the ideal generated by the equations. But this morphism has no reason to totally recover M if it wasn’t a point with integral coordinates. For example, the point $(2,3)$ is a special point, satisfying a lot of equations, which characterize it. But $(\log 2, \pi)$ do not satisfy any polynomial equations with integral coefficients, so the set of its equations is empty, and cannot be used to recover it. Moreover, the point $(e, \log 3)$ does not satisfy equations either: their algebraic properties are exactly the same. These points are called generic.

The prime spectrum of a ring is a convenient way of describing equivalence classes of points of a given ring.
Definition. The prime spectrum of $A = \mathbb Z[x,y]$ is the set of points $p_I: A \to A/I$ for prime ideals $I$. If $M: A \to R$ is any point of the affine plane with coordinates in an integral domain $R$, then Mis canonically associated to some $p_M := p_I$, where $I$ is the kernel of the map $A \to R$.
(more…)

### Schemes in algebraic geometry I : the affine plane

I think most people blogging around algebraic geometry eventually write about schemes, (as in Rigorous trivialities or algebraic stacks (in the Secret Blogging Seminar), which are traditionnally seen as the main reason (not) to study algebraic geometry today. My turn now. I recommend Igor Dolgacev’s lectures which is one of my favorite ways of speaking of schemes.

Interesting mathematics come up when algebraic varieties (things defined by several polynomial equations) are no longer defined as mere sets (sets of tuples of numbers satisfying the equation) but mope complex mathematical objects. Differential geometry, for example, gives the structure of a complex manifold to algebraic varieties in $\mathbb C^n$, which is still an efficient way of proving theorems. However, during the 20th century, a lot of mathematicians tried to develop a new structure which would avoid the use of analysis to concentrate on the algebraic aspects (I don’t know exaclty who, but expect Hilbert, Zariski, Chevalley, Grothendieck to have played a role). Grothendieck approach using category theory and functors of points is now widely used and is a very impressive way of tying together intuition, commutative algebra, and geometry.

There are many ways of reverse engineering Grothendieck’s definition of a scheme (see EGA1 if you want to know how this is related to Chevalley’s definition of a scheme). The first thing to say is probably what properties and notions are needed for schemes:
(more…)

### Experimental algebraic geometry I : the grassmannian

I just began playing with Macaulay 2 to see how it could help doing algebraic geometry without manual tedious computations. Let’s try with the grassmannian: fortunately, the program comes with lots of pre-written functions, including the generation of Grassmanians.

Macaulay provides a command-line interface using the readline library (like many other command-line programs) : here is what input/output looks like

i1 : V = Grassmannian(1,3)
o1 = ideal(p   p    - p   p    + p   p   )
1,2 0,3    0,2 1,3    0,1 2,3
o1 : Ideal of ZZ[p   , p   , p   , p   , p   , p   ]
0,1   0,2   1,2   0,3   1,3   2,3

When I type a command at i1, I get an output o1 with a value $\mathrm{ideal}(p_{1,2} p_{0,3} - p_{0,2} p_{1,3} + p_{0,1} p_{2,3})$ and a type: this output is an ideal of the ring $\mathbb{Z}[p_{0,1}, p_{0,2}, p_{1,2}, p_{0,3}, p_{1,3}, p_{2,3}]$. Many features of the Grassmannian as an algebraic variety are available: first define

i1 : V = Grassmannian(1,3,CoefficientRing => QQ);
o1 : Ideal of QQ[p   , p   , p   , p   , p   , p   ]
0,1   0,2   1,2   0,3   1,3   2,3
i2 : X = Proj(ring V / V)
o2 = X
o2 : ProjectiveVariety

the projective variety X over $\mathbb Q$ defined by the homogeneous ideal V : here ring V denotes the ambient ring of V. We see that $V$ is a non-singular quadric in 5-dimensional projective space, and check several well-known facts (more…)

### Extensions of sheaves and the local-global spectral sequence

GIven a topological space $X$, algebraic topologists would sometimes be interested in sheaves over this space. In most cases, these sheaves are sheaves of functions with some special property, or sheaves of modules over these rings. We could casually say thet the notion of sheaf is some mix of topology and algebra (more generally, categories), which allows to remember where are localized objects. For example, the set of continuous functions over a compact space can sometimes allow to recover an isomorphic space, but its mere normed algebra structure does not immediately say things like: “i am greater here than there”, “i am positive here and negative there”…

So a sheaf is not only determined by a set of fonctions (the commonly used term is section) defined over the whole space, but also by sections over open sets, and by the restriction maps between these various sets of sections. A sheaf has also a gluing theory : if we choose sections over open sets with equal restrictions on the intersections, they must glue to a section over the union of the open sets (if not, our object does not deserve to be a sheaf, so it is only a presheaf).

Virtually anything which can be restricted to open sets and defined locally defines a sheaf: continuous functions form a sheaf, but functions with $||f||_{\infty} = 1$ do not usually form a sheaf (this property is not local). A sheaf of abelian groups is a sheaf of things which can be (locally) added and substracted, a sheaf of rings has sections which can be multiplied, and we can also define sheaves of modules over a sheaf of rings.

A morphism of sheaves $f: F \to G$ is a map which is determined by the image of localized sections. In the case of abelian groups, the kernel sheaf is the sheaf of sections of F which are locally in the kernel of f, while the quotient sheaf (cokernel) is something looking like G where sections are identified if locally it should be so. A morphism is thus injective or surjective if locally it is so. Sheaves of abelian groups (or sheaves of modules over some sheaf of rings) form an abelian category, and it makes sense to speak of the extension group $\mathrm{Ext}^1(F,G)$ for two such sheaves F and G. Suppose we are working with sheaves of modules (especially coherent sheaves) over a sheaf of rings $\mathcal O_X$. How should we compute this group ?

### Extensions and homological algebra

If you ever followed a course in algebra, you may have heard about extensions of “things”. Most “things” fit in what is called a category, that is, an abstract structure remembering how to compose morphisms between these “things”, and sometimes what is the sum of such “things”, the kernel of a morphism: we are interested in the structure of abelian category, which is the framework of vector spaces, modules over a ring, sheaves of modules… An extension of A by B is an exact sequence

$0 \to B \to E \to A \to 0$

where $B$ is the kernel, and $A$ is the quotient (cokernel). The group of extensions $\mathrm{Ext}^1(A,B)$ is the set of isomorphism classes of such exact sequences. (more…)