-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error when calling DTr #98
Comments
I don't think that I can say anything without seeing the code that you are running when these errors occur. Could you please supply the code? |
This is the code that is called before the error appears (I removed everything that is called after the function: TauModules; ) The reason why i'm doing this is because i didn't found a way to reproduce this error in a systematic way. It seems to appear random. I can run my program and get solutions (keep GAP open) run it the next day with the active session that before had no problems and get this error. Or i start GAP and the function DTr gives me an error, then i restart GAP and it works. In this program i calculate all thin modules for a given path algebra and then want to calculate DTr of all those thin modules. |
I have run the code in Error.txt, and I am so far unable to produce any error. When you run it, you also run the code after the function TauModules and then use the functions AllThinModules and TauModules again? If so, what is done after the function TauModules would be relevant. I cannot see any thing wrong in the code, but the CALL_WITH_CATCH function I have no experience with and there is very little documentation (as far as I can see) of this function. So I have no idea what it does. What does that function do? |
Hey this is what i mean with: weird behaviour sometimes it occurs sometimes it doesn't. Sometimes it occurs when running the code for the first time. What my code basically does afterwards is: Calculate Minimal right approximations of those TauModules, with respect to the subcategory generated by thin modules. It then also writes these functions into a .txt file. I'm afraid i don't really get what you mean by "When you run it, you also run the code after the function TauModules and then use the functions AllThinModules and TauModules again?"
I cannot emphasize this enough: This occurs really randomly but sometimes an "idle" phase can play a role in it. Sometimes it occurs by first calling the function sometimes it occurs after a bit of run-time. So restarting GAP and trying that exact same Module does not produce this error again which makes it really weird. About that: CALL_WITH_CATCH function you mentioned, what i've tried there is the following: In other Languages one can call a method with some kind of error handling. I would not try to look very deep into that function because i have this error occuring even before i used this function to calculate thin modules. But i haven't been able to reproduce the error myself so i wasn't sure about posting here. (You could even remove that function completly and just use PathAlgebras). I sometimes get the error with the DTr. I know this is very frustrating to not have an example when this error occurs or something. It's simply a weird behaviour. |
I am loading the file Error.txt via the command Read("Error.txt"); in a GAP session, and then I have not been able to obtain any error message. After having done this I have tried to run the example after the definitions of all functions again and again, but also here no error message. So I am at a loss what is going on. Only thing I can recommend is to check the local variables when you are in the break loop (i.e. when you have the prompt brk>) and see what values they have. This sometimes would give an idea about what is going on. |
So after testing a bit further i got the error message again. I still have the break loop on, i'm not that experienced with GAP and error handling. What i think the root cause is: In Line 125 of functors.gi the function: MinimalGeneratingSetOfModule(M); is called. I took a look at this function and it seems that IncomingArrowsOfVertex(); does not work right since for this session it returns: Does this help in any way? I still have the session open and could check a few things if you want. |
I am not able to recreate the error that you are getting. Every time I run your example, there is no error occurring. Which version of QPA are you running? 1.34 or 1.35, or any earlier version? I am at a loss what this can be. |
I'm running version 1.35. Normally one should be able to recreate an error like this. But it seems to be not possible, i can't even reproduce the error myself, even if i do the same commands in GAP/QPA as before. Note: I had this error in an earlier version as well. I reinstalled GAP already so this seemed not to be the root cause. I'm also at loss what it can be, is there maybe documentation on how this function: IncomingArrowsOfVertex(); works? Because from the code i can't "see" how it returns the incomming arrows. |
Here is what I get when I enter your quiver and find the incoming arrows for each vertex:
This makes me even more confused. The value of the function IncomingArrowsOfVertex is set when the quiver is constructed. You can see it in the file quiver.gi. |
Yes i don't understand how the code works but i think it's not relevant. But here is the reason why you maybe not able to replicate this error: Note: The error occurred for Q,Qt,Qtt. Which probably makes sense so for a copy of a quiver the error still occurs. But overwriting the Variable could fix this. |
When i try to call DTr i get the following error message:
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `NullspaceMat' on 1 arguments at /opt/gap-4.13.1/lib/methsel2.g:250 called from
NullspaceMat( matrix ) at /opt/gap-4.13.1/pkg/qpa/lib/functors.gi:152 called from
TransposeOfModule( M ) at /opt/gap-4.13.1/pkg/qpa/lib/functors.gi:327 called from
DTr( i ) at stdin:467 called from
<function "TauModules for a representation of a quiver">( )
called from read-eval loop at stdin:787
type 'quit;' to quit to outer loop
This happens from time to time for no particular reason. Usually after restarting GAP it does not happen again (even when trying it with the same module over the same PathAlgebra).
What sometimes seems to be the reason is the following:
In the first line of my code i have "LoadPackage("QPA");" and then 700 lines of functions are loaded in ( in particular a function that calculates the Auslander Reiten Translate for a list of modules).
When i Load the package myself and then copy in the code after the package is loaded, it seems to work fine.
Every other function seem to be loaded correct.
The text was updated successfully, but these errors were encountered: