-
Notifications
You must be signed in to change notification settings - Fork 29
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
Condition Number from get_summary()
Appears Inaccurate
#128
Comments
I can also confirm a substantial difference in the condition number reported by xpose::get_summary() and PsN sumo or Piranas output. Similar picture like reported by @billdenney: The condition number in xpose::get_summary() is way smaller (1.6) than PsN's sumo (521). That's the Lines 429 to 453 in d56d1b0
Here is my .lst output:
Largest eigenvalue is 3.97E+00, smallest is 7.61E-03, so the condition number should be 3.97/0.00761 = 521.68 (in line with PsN's sumo). The
I've just checked the first part of the
My educated guess would be at this point that the function works for a small number of parameters but not for a larger number (where we have a linebreak within the eigenvalue report). In the function we have
and the In this case the eigenvalues are also not limited to one line. To fix this we would need to detect the index of "EIGENVALUES OF COR", detect the index of something like "Elapsed finaloutput time" and then calculate the eigenvalue lines. Something like this could work:
which now returns correctly:
But I have realised that not each and every model has a Elapsed finaloutput time directly after the EIGENVALUE section. So this is still something to think about. For Meaning that my code proposal would fail. Any ideas how to solve that issue? |
@billdenney & @marianklose thank you for looking into this, indeed xpose was only looking at the first row of eigen value which lead to wrong condition numbers for larger models. I pushed a fix you can install the dev version with |
I don't have an example that I can easily test. |
Hi @bguiastr, thanks for putting work into this. I've just had a look into two examples with multiple lines of eigenvalues and in both cases it now calculates the condition number correctly. For me everything is okay now. Thanks a lot! |
Hi @bguiastr, the same issue was reported back in 2018, but it seems that the condition number reported by summary() is still incorrect. It was reported as 1.1, while it should be 31.2: |
I have a model with the following eigenvalues, and the condition number is reported as 1.8 by
get_summary()
while it should be 42.5:NONMEM output:
The text was updated successfully, but these errors were encountered: