# isGolodHomomorphism -- Determines if the canonical map from the ambient ring is Golod

## Description

This function determines if the canonical map from ambient R --> R is Golod. It does this by computing an acyclic closure of ambient R (which is a DGAlgebra), then tensors this with R, and determines if this DG Algebra has a trivial Massey operation up to a certain homological degree provided by the option GenDegreeLimit.
 ```i1 : R = ZZ/101[a,b,c,d]/ideal{a^4+b^4+c^4+d^4} o1 = R o1 : QuotientRing``` ```i2 : isGolodHomomorphism(R,GenDegreeLimit=>5) Computing generators in degree 1 : -- used 0.015 seconds Computing generators in degree 2 : -- used 0.032 seconds Computing generators in degree 3 : -- used 0.015 seconds Computing generators in degree 4 : -- used 0.031 seconds Computing generators in degree 5 : -- used 0. seconds o2 = true```
If R is a Golod ring, then ambient R R is a Golod homomorphism.
 ```i3 : Q = ZZ/101[a,b,c,d]/ideal{a^4,b^4,c^4,d^4} o3 = Q o3 : QuotientRing``` ```i4 : R = Q/ideal (a^3*b^3*c^3*d^3) o4 = R o4 : QuotientRing``` ```i5 : isGolodHomomorphism(R,GenDegreeLimit=>5) Computing generators in degree 1 : -- used 0.031 seconds Computing generators in degree 2 : -- used 0.047 seconds Computing generators in degree 3 : -- used 0.094 seconds Computing generators in degree 4 : -- used 0.156 seconds Computing generators in degree 5 : -- used 0.795 seconds o5 = true```
The map from Q to R is Golod by a result of Avramov and Levin.

## Caveat

Currently, it does not try to find a full trivial Massey operation on acyclicClosure(Q) ** R, it just computes them to second order. Since there is not currently an example of a ring (or a homomorphism) that is not Golod yet has trivial product on its homotopy fiber, this is ok for now.

## Ways to use isGolodHomomorphism :

• isGolodHomomorphism(QuotientRing)