This command takes a HashTable of the same form output from deviations and produces the Poincare series corresponding to it. The (key,value) pairs must be of the form homologicalDegree=>number or (homologicalDegree,internalDegree)=>number. Because
i1 : R = ZZ/101[a,b,c]/ideal{a^3,b^3,c^3}
o1 = R
o1 : QuotientRing
|
i2 : RDevs = deviations(R,DegreeLimit=>6)
o2 = HashTable{(1, {1}) => 3}
(2, {3}) => 3
o2 : HashTable
|
i3 : devPSeries = deviationsToPoincare(RDevs,DegreeLimit=>6)
6 9 6 8 5 7 5 6 4 6 4 5 3 4 3 3 2 3
o3 = 10S T + 18S T + 18S T + 3S T + 6S T + 9S T + 9S T + S T + 3S T
0 0 0 0 0 0 0 0 0
------------------------------------------------------------------------
2 2
+ 3S T + 3S*T + 1
0 0
ZZ[S, T ]
0
o3 : ---------
7
S
|
i4 : pSeries = poincareN (res(coker vars R, LengthLimit=>6))
2 2 2 3 3 3 3 4 4 5 4 6 5 6
o4 = 1 + 3S*T + 3S T + 3S T + S T + 9S T + 9S T + 6S T + 3S T +
0 0 0 0 0 0 0 0
------------------------------------------------------------------------
5 7 6 8 6 9
18S T + 18S T + 10S T
0 0 0
o4 : ZZ[S, T ]
0
|
i5 : substitute(devPSeries,ring pSeries) == pSeries
o5 = true
|