Let *I* be an ideal of a regular local ring *Q* with residue field *k*. The minimal free resolution of *R=Q/I* carries a structure of a differential graded algebra. If the length of the resolution, which is called the codepth of *R*, is at most *3*, then the induced algebra structure on Tor* _{Q}** (

According to the multiplicative structure on Tor* _{Q}** (

There is a similar classification of Gorenstein local rings of codepth 4, due to A.R. Kustin and M. Miller. There are four classes, which in the original paper, *Classification of the Tor-Algebras of Codimension Four Gorenstein Local rings* https://doi.org/10.1007/BF01215134, are called A, B, C, and D, while in the survey *Homological asymptotics of modules over local rings* https://doi.org/10.1007/978-1-4612-3660-3_3 by L.L. Avramov, they are called CI, GGO, GTE, and GH(p), respectively. Here we denote these classes **C**(c), **GS**, **GT**, and **GH**(p), respectively.

The package implements an algorithm for classification of local rings in the sense discussed above. For rings of codepth at most 3 it is described in L.W. Christensen and O. Veliche, *Local rings of embedding codepth 3: a classification algorithm*, http://arxiv.org/abs/1402.4052. The classification of Gorenstein rings of codepth 4 is analogous.

The package also recognizes Golod rings, Gorenstein rings, and complete intersection rings of any codepth. To recognize Golod rings the package implements a test found in J. Burke, *Higher homotopies and Golod rings* https://arxiv.org/abs/1508.03782.

Version **1.0** of this package was accepted for publication in volume 6 of the journal The Journal of Software for Algebra and Geometry on 2014-07-11, in the article Local rings of embedding codepth 3: A classification algorithm. That version can be obtained from the journal or from the *Macaulay2* source code repository, http://github.com/Macaulay2/M2/blob/master/M2/Macaulay2/packages/CodepthThree.m2, commit number 4b2e83cd591e7dca954bc0dd9badbb23f61595c0.

- Functions and commands
- isCI -- whether the ring is complete intersection
- isGolod -- whether the ring is Golod
- isGorenstein -- whether the ring Gorenstein
- setAttemptsAtGenericReduction -- control the number of attempts to compute Bass numbers via a generic reduction
- torAlgClass -- the class (w.r.t. multiplication in homology) of a local ring
- torAlgData -- invariants of a local ring and its class (w.r.t. multiplication in homology)
- torAlgDataList -- list invariants of a local ring
- torAlgDataPrint -- print invariants of a local ring

- Symbols
- attemptsAtGenericReduction -- see setAttemptsAtGenericReduction