For some reason after a bunch of matrix charpoly calculations, charpoly hangs on me. I suppose it's some memory problem, but rather that fix that, I just want to put a timeout on the calculation and then restart it if it hangs.
The problem is I can't use the "alarm" solution given in the answer to this question because sage.matrix.matrix_integer_dense.Matrix_integer_dense.charpoly doesn't catch the KeyboardInterrupt:
What is another approach I could use?
asked Jul 11 '11Max Flander
21 ● 4
OK here's my horrible workaround using rob hooft's task.py:
Write my matrix to a text-file. Put the charpoly calculation in a separate file called charpoly.sage which reads in the matrix from that text-file, and outputs its result to another text-file. Then in the main code run the following:
That last rubbish is because sage spawns some other python processes which eat up all the cpu and are not killed by task.Kill(). It's not pretty but it'll do the trick for now. The reason that I simply restart the calculation after a timeout is that it only sporadically gets stuck, and restarting seems to get it going again, go figure...
Here are answers from various python sources:
posted Jul 12 '11parzan
848 ● 3 ● 12 ● 30
Asked: Jul 11 '11
Seen: 99 times
Last updated: Jul 13 '11
powered by ASKBOT version 0.7.22
Copyright Sage, 2010. Some rights reserved under creative commons license.