Skip to content
Prev 3044 / 7420 Next

Error in La.svd(x, nu, nv) : error code 1 from Lapack routine 'dgesdd'

We have had similar reports from many cases (for instance, from cca/rda functions in vegan). The problem is difficult to track. Cases that we have seen so far probably are problems in LAPACK library, and the kind of LAPACK used can depend on the version of R, version of LAPACK, compilers used, operating system and its version, computer hardware, phase of moon etc. Error code 1 from dgesdd should be a convergence problem.

With presence/absence data there may not be much you can with the data. With quantitative data, rescaling of data has been helpful, but hardly with p/a (Hellinger transformation will also change data properties and is not data neutral: division of subtraction with some constant is data neutral and helps sometimes, but hardly with p/a data).

The svd() function in R provides a R<1.7.0 compatibility option LINPACK = TRUE which has helped sometimes. We haven't added that as an option for svd() in cocorresp or vegan as it is documented only as a compatibility option for old R. However,  you can try editing the files to use LINPACK = TRUE to see if the problem vanishes (but NAMESPACE add some pain in using edited files).

HTH, Jari Oksanen