Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Feature request: Bigint vectors for Hilbert series
PostPosted: Sun Sep 02, 2018 2:12 pm 

Joined: Fri Oct 01, 2010 11:31 pm
Posts: 10
Hi!

Since the following was buried in a different larger topic, I create a new small one.

There is int and there is intvec. There is bigint, but there is no bigintvec.

- Would you consider to implement vectors of big integers in Singular?
- And would you consider to use bigint vectors or another suitable data type as return value for the hilb function? In my applications, I have rings with many variables (>70), which currently makes hilb(id,1) fail with an int overflow.

Best regards,
Simon


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Feature request: Bigint vectors for Hilbert series
PostPosted: Mon Sep 03, 2018 2:00 pm 

Joined: Wed May 25, 2005 4:16 pm
Posts: 205
vectors of bintint are already there:
Code:
bigintmat m[1][3]=1,2,3;


Using bigintmat as return type of hilb does not help;
the overflow occurs during the computation of the Hilbert function,
changing that requires a complete rewrite of the code,
if you volonteer for that you are welcome.

Changing int to long on 64bit machines is a bad idea:
- it does not help the overflow problem (see above)
- 32bit and 64bit version should behave the same way


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Feature request: Bigint vectors for Hilbert series
PostPosted: Tue Sep 04, 2018 10:49 am 

Joined: Fri Oct 01, 2010 11:31 pm
Posts: 10
Hi Hannes,

hannes wrote:
vectors of bintint are already there:
Code:
bigintmat m[1][3]=1,2,3;


I see. The syntax is different than for a vector, so, it isn't truly a vector of bigints, but at least it would be a work around.

Quote:
Using bigintmat as return type of hilb does not help;
the overflow occurs during the computation of the Hilbert function,

Sure.
Quote:
changing that requires a complete rewrite of the code,
if you volonteer for that you are welcome.

Seriously? Of course I don't know the code yet, but I'd be very surprised if the changes go beyond changing data types (internally of course, not just the return type) by search-and-replace.

Quote:
Changing int to long on 64bit machines is a bad idea:
- it does not help the overflow problem (see above)
- 32bit and 64bit version should behave the same way


If I understand correctly, 32bit machines became rare, and so there is some point in arguing that using the capabilities of a 64bit machine should be standard. And even 32bit machines can emulate 64bit ints. It would of course be slower than on a 64bit machine, but it would be the lesser of two evils, IMHO.

I believe that a CAS shouldn't impose an artificial restriction that is motivated by outdated hardware and makes it fail in real-world-applications (by which I mean rings that arise in the study of modular group cohomology). I do no volunteer to change Singular so that "int" means "64bit integers" and "bigint" means "arbitrary size integers", but I think sooner or later it would be needed.

Best regards,
Simon


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Feature request: Bigint vectors for Hilbert series
PostPosted: Thu Sep 06, 2018 9:38 am 

Joined: Fri Oct 01, 2010 11:31 pm
Posts: 10
Dima Pasechnik's account is currently inactive. Therefore he asked me to link this thread to the corresponding github issue: https://github.com/Singular/Sources/issues/881.


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

It is currently Wed Oct 17, 2018 6:21 pm
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group