On 17 Okt., 21:49, Simon King <[email protected]> wrote:
> Anyway. I just wanted to know whether other people have met a frozen
> Singular and can give me a hint, before I spend too much energy in my
> bug hunt...

I don't know if the following is symptomatic. But I found that
Singular was hanging when it tried to create a ring. Since it had
quite a lot of variables, the interface used singular._local_tmpfile()
for communicating. So, I could see the last command that was send to
singular.

The last call came from the lines
            s = '; '.join(['if(defined(%s)>0){kill %s;};'%(x,x)
                           for x in vars[1:-1].split(',')])
            self.eval(s)
in singular.ring()

Actually, the content of singular._local_tmpfile() looked strange to
me, as it seemed to start in the middle of the command.

So, for the moment, I just try to work around the problem (I'll only
see tomorrow whether my new code works, I'm afraid my example is a bit
lengthy...).

But I have a general question: Is it really a good idea to send a
potentially very long command (like s above) to singular, so that
singular needs to parse it? Or would it be a more reasonable idea to
send the command in small bits and replace the above lines of code by,
say
            for x in vars[1:-1].split(','):
                self.eval('if(defined(%s)>0){kill %s;};'%(x,x)
?

Cheers,
Simon

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to