Opened 15 years ago
Closed 15 years ago
#1793 closed enhancement (fixed)
[with patch, with positive review] Hilbert series, Hilbert polynomial, Laurent series expansion
Reported by: | Martin Albrecht | Owned by: | Martin Albrecht |
---|---|---|---|
Priority: | major | Milestone: | sage-2.10.2 |
Component: | commutative algebra | Keywords: | |
Cc: | William Stein, Michael Abshoff | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
The attached bundle implements everything to make the following work:
sage: P.<x11,x12,x13,x14,x21,x22,x23,x24,x31,x32,x33,x34,x41,x42,x43,x44> = PolynomialRing(QQ,order='degrevlex') sage: I = Ideal([ x11^2 + x12*x21 + x13*x31 + x14*x41, x11*x12 + x12*x22 + x13*x32 + x14*x42, x11*x13 + x12*x23 + x13*x33 + x14*x43, x11*x14 + x12*x24 + x13*x34 + x14*x44, x11*x21 + x21*x22 + x23*x31 + x24*x41, x12*x21 + x22^2 + x23*x32 + x24*x42, x13*x21 + x22*x23 + x23*x33 + x24*x43, x14*x21 + x22*x24 + x23*x34 + x24*x44, x11*x31 + x21*x32 + x31*x33 + x34*x41, x12*x31 + x22*x32 + x32*x33 + x34*x42, x13*x31 + x23*x32 + x33^2 + x34*x43, x14*x31 + x24*x32 + x33*x34 + x34*x44, x11*x41 + x21*x42 + x31*x43 + x41*x44, x12*x41 + x22*x42 + x32*x43 + x42*x44, x13*x41 + x23*x42 + x33*x43 + x43*x44, x14*x41 + x24*x42 + x34*x43 + x44^2 ]) sage: S = I.hilbert_series(); S (t^12 - 7*t^11 + 20*t^10 - 28*t^9 + 14*t^8 + 15*t^7 - 20*t^6 + 19*t^5 - 22*t^4 + 7*t^3 + 20*t^2 + 8*t + 1)/(t^8 - 8*t^7 + 28*t^6 - 56*t^5 + 70*t^4 - 56*t^3 + 28*t^2 - 8*t + 1) sage: H = I.hilbert_polynomial(); H 1/180*t^7 + 7/90*t^6 + 293/360*t^5 + 61/36*t^4 + 1553/360*t^3 + 851/180*t^2 + 101/30*t + 1 sage: L.<u> = LaurentSeriesRing(ZZ) sage: L(S) 1 + 16*u + 120*u^2 + 575*u^3 + 2044*u^4 + 5927*u^5 + 14832*u^6 + 33209*u^7 + 68189*u^8 + 130642*u^9 + 236488*u^10 + 408288*u^11 + 677143*u^12 + 1084929*u^13 + 1686896*u^14 + 2554659*u^15 + 3779609*u^16 + 5476772*u^17 + 7789144*u^18 + 10892530*u^19 + O(u^20) sage: [H(n) for n in range(20)] # matches above for n>=5 [1, 16, 120, 574, 2043, 5927, 14832, 33209, 68189, 130642]
However, it needs careful review especially in the LaurentSeries
department because I am not very experienced there.
Attachments (3)
Change History (11)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
Cc: | Michael Abshoff added |
---|---|
Status: | new → assigned |
mabshoff wrote at #1756:
Singular's Hilbert series has overflow issues in certain situations. Let me digg out some email about a test case and report this to the Singular team.
comment:3 Changed 15 years ago by
Summary: | [with patch, needs careful review] Hilbert series, Hilbert polynomial, Laurent series expansion → [with patch, needs review] Hilbert series, Hilbert polynomial, Laurent series expansion |
---|
hilbert2.hg
contains the corrections William suggested on IRC and replaces hilbert.hg
.
comment:4 Changed 15 years ago by
Summary: | [with patch, needs review] Hilbert series, Hilbert polynomial, Laurent series expansion → [with patch, with partial positive review] Hilbert series, Hilbert polynomial, Laurent series expansion |
---|
The patches from hilbery2.hg with ids a692e0df3534, 0b92c1071492, 6f3a99024ee7 should be applied.
I didn't look at the other patches.
comment:5 Changed 15 years ago by
Summary: | [with patch, with partial positive review] Hilbert series, Hilbert polynomial, Laurent series expansion → Hilbert series, Hilbert polynomial, Laurent series expansion |
---|
Because the bundle contained many irrelevant patches I tried to provide clean patches instead and deleted every copy of my patches on the way (and all attachments to avoid confusion for the release maintainer). Me stupid. I'll provide new patches as soon as I have re-implemented the functionality.
Changed 15 years ago by
Attachment: | trac_1793_hilbert.patch added |
---|
Changed 15 years ago by
Attachment: | trac_1793_laurent.patch added |
---|
comment:6 Changed 15 years ago by
Summary: | Hilbert series, Hilbert polynomial, Laurent series expansion → [with patch, needs review] Hilbert series, Hilbert polynomial, Laurent series expansion |
---|
The attached files trac_1793_hilbert.patch
and trac_1793_laurent.patch
re-implement the desired functionality and need review.
comment:7 Changed 15 years ago by
Summary: | [with patch, needs review] Hilbert series, Hilbert polynomial, Laurent series expansion → [with patch, with positive review] Hilbert series, Hilbert polynomial, Laurent series expansion |
---|
I say apply both patches.
I think that the Laurent series patch touches coercion code that will be completely rewritten soon, so I'm not worried that it's not particularily general.
There is an unclear comment in the hilbert_polynomial docstring. The comment could be removed. From IRC:
ncalexan: malb: let's took 1793. [3:12pm] ncalexan: The docstring to hilbert_polynomial says, ' This $d$ is called the index of regularity of [3:12pm] ncalexan: 1116 $I$. ' [3:12pm] ncalexan: Which $d$? The minimal one? [3:13pm] malb: yes [3:13pm] malb: for all but finitely many positive integers $d$ [3:14pm] malb: that encodes minimal for me? [3:15pm] ncalexan: malb: that is unclear to me. Is there a function to return the index of regularity? [3:15pm] malb: no [3:15pm] ncalexan: If not, I say drop the remark. Or clarify it. Why is it there? [3:15pm] ncalexan: (The remark about $d$ being the index) [3:15pm] malb: because there should be such a function [3:15pm] malb: but I can drop it [3:16pm] ncalexan: malb: is that easy to determine? 'cuz it would be useful :)
Changed 15 years ago by
Attachment: | trac_1793_review.patch added |
---|
patch removes remark about index of regularity
comment:8 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Merged all three patches in Sage 2.10.2.alpha0
A relevant [sage-support] thread is here
http://groups.google.com/group/sage-support/browse_thread/thread/db22a8fa713b8da2
Also, the bundle contains some old patches as well, if that presents a problem, I'll provide clean patches instead.