Hi! Since this post summarises replies to various posts in this thread and to an off-list message, I am making this a reply to the top of the thread.
Objective: As a *small* part of some group cohomology computations, I need to compute the first Hilbert series of certain homogeneous ideals in graded-commutative rings, with respect to given degree weights of the ring generators. Problem: The data are in Singular, thus, Singular is the natural candidate to do the job. Unfortunately, some of my rings have too many variables, which means that Singular's "hilb(...,1)" command suffers from an int overflow. Potential ways out: I am listing potential approaches to achieve the objective. In all cases I tell what is good or bad in that approach, in some cases I need more support or answers. 1. Create an implementation in Sage, that does the ideal computations in Singular-via-pexpect and does the bigint computations in Sage. Good: It works even in big examples. Bad: In the cases in which Singular works, Singular is a lot faster. 2. Create an implementation in Singular that doesn't use intvec (which has a 32 bit limitation) but a different data structure, or get the Singular developers to do so. Bad: I didn't try to implement it myself; Singular devs didn't answer yet. 3. Use frobby. Good: It works in small examples. Bad: On some big example, it is slower than 1. and fails due to memory problems. And one would need a conversion from multigraded to univariate Hilbert series. ==> Frobby is no serious option. 4. Use LattE/normaliz. Bad: I have no idea how. 5. Use Macaulay2 Bad: (a) The experimental spkg is broken, it won't install. (b) The installation instructions for Ubuntu on the project pages are rather verbose and require adding obscure repositories. (c) Installation from sources (release-1.12 from github): i. Although I installed all dependencies listed in the INSTALL file, "make" fails because additionally givaro is required. And 'export MAKE="make -j3"' makes Macaulay2 believe that gnu make is not installed. ii. I tried installation in a Sage shell, as givaro is in Sage. However, "make" fails as follows: /home/king/Projekte/Macaulay2/M2/M2/usr-host/include/fflas-ffpack/fflas/fflas_ftrsm_src.inl:279:27: error: ‘openblas_set_num_threads’ was not declared in this scope openblas_set_num_threads(__FFLASFFPACK_OPENBLAS_NUM_THREADS); ^ cc1plus: warning: unrecognized command line option ‘-Wno-mismatched-tags’ ../../include/config.Makefile:226: recipe for target 'interface.o' failed make[2]: *** [interface.o] Error 1 make[2]: Leaving directory '/home/king/Projekte/Macaulay2/M2/M2/Macaulay2/d' Makefile:20: recipe for target 'all-in-d' failed make[1]: *** [all-in-d] Error 2 ==> Currently Macaulay2 is no option. 6. Use CoCoA(Lib). Good: "sage -i cocoalib" works. CoCoA is known for a focus on Hilbert driven computations, thus, is supposed to be good for the job. Bad: (a) Apparently the optional package only provides the CoCoA library (plus headers, of course), but no Cython bindings. (b) The cocoa documentation is not installed in the proper place, but in SAGE_LOCAL/include/CoCoA/doc. And this is the full documentation of the hilbert() function (I am not joking): """ hey!!! write something more! I'm just using the C code I wrote for CoCoA-4. It will be entirely rewritten in C++ The only usable function is RingElem HilbertNumeratorMod(PolyRing HSRing, ideal I); but it works ONLY if I is a monomial ideal. HSRing is the ring where the Hilbert Series Numerator should live. """ ==> CoCoALib seriously lacks documentation and has no Sage bindings, and thus currently it is no option. QUESTIONS: - Are people trying to create cython bindings for CoCoALib? - How do I use LattE or normaliz? Say: sage: R.<x,y,z,w>=QQ[] sage: I = R*[x^3,x^2*y,x*z] And now how can I compute the first Hilbert series, with given degrees for x,y,z? - How to make Macaulay2? Best regards, Simon -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.