-
Notifications
You must be signed in to change notification settings - Fork 127
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
GSL ERROR: matrix is singular in lu.c at line 266 errno 1 #179
Comments
@HannahVMeyer an you try and see if there is a difference between 0.94 and |
OK, I found something of interest. Gemma 0.96 when built on my system fails, but the binary 0.96 release provided by @pcarbo passes also for all 10 phenotypes. Peter wrote Executable gemma.linux was built with an Intel Xeon E5-2680v4 ("Broadwell") 2.4GHz processor, Scientific Linux 7 (64-bit) and gcc 4.8.5, and statically linked to glibc 2.14, atlas 3.10.3 and gsl 1.16. So, the difference here is atlas and a much older GSL. The actual libs imported are
Also of interest is that 0.94 is faster than 0.96. At least for this dataset. |
Good news, I replicated the problem wich compares with v94 output. v96 with GSL1.16 returns:
So, again, it is a GSL thing. |
v96 with openblas it gives the same result. Great, now I can do a git bisect. |
9952786 is the culprit. |
Hi,
|
Did you search the issue tracker? Try with less covariates. Usually it is because they are correlated. |
Hi Pjotr,
Then again with no covariate file and only phenotype1, which was successful
The command was also successful with the covariate file included and only 1 phenotype. |
Avoid correlated phenotypes/covariates. |
Sorry to dig up an old issue. I ran into the same problem so I used svd and used the U matrix as input so all the phenotypes are uncorrelated and I still got the error, it worked though when I used a subset of the matrix, even 8 out of 9 phenotypes worked. Any idea why? Thanks |
Not really, sorry. |
On Fri, Sep 21, 2018 at 03:58:45AM -0700, Xiang Zhou wrote:
As per your suggestion I ran 0.94, 0.96 and 0.98 with the correlated phenotypes using
~/opt/gemma-0.94/gemma-v0.94 -p data/correlated_phenotypes/Ysim_reg_gemma.txt -g data/correlated_phenotypes/Genotypes_gemma.csv -d data/c orrelated_phenotypes/Kinship_eigenval_gemma.txt -u data/correlated_phenotypes/Kinship_eigenvec_gemma.txt -lmm 2 -n 1 9 4 6 10 -o corrpheno9 4
and there is no real difference between 0.94 and 0.96. They both give a result.
0.98, however, gives with the -no-check option
Now we could disable that check too, but I think it is correct and
should stop GEMMA. Removing that check we get the familiar
which points out there is a problem LUInvert in the mvlmm::CalcDev function
This is the same code you can find in v0.96 at
https://github.com/genetics-statistics/GEMMA/blob/v0.96/src/mvlmm.cpp#L2401
Compiling with GSLv1 gives the same error as GSLv2.
Why the older versions pass this check is (at this point) a mystery to me.
Hannah, can you try and see if there is a difference between 0.94 and
0.96 works for all your cases? It would be great if we find one that
works in one of those versions and fails in the other.
I am close to putting out a GEMMA 0.98 release, but I think we ought
to fix this issue.
The text was updated successfully, but these errors were encountered: