csu-hmc / GaitAnalysisToolKit

Tools for the Cleveland State Human Motion and Control Lab
http://hmc.csuohio.edu
Other
111 stars 31 forks source link

Octave backslash fails with ATLAS LAPACK #28

Open moorepants opened 10 years ago

moorepants commented 10 years ago

When running inertial_compensation.m on the compensation data needed for run T006 the backslash operator fails to solve the linear least squares here:

https://github.com/csu-hmc/Gait-Analysis-Toolkit/blob/master/Octave-Matlab-Codes/Inertial-Compensation/inertial_compensation.m#L83

This failure gives this error:

octave:7> new_forces = inertial_compensation(calib_forces, calib_accel, markers, forces, accel);
 ** On entry to DLASD4 parameter number -1 had an illegal value
error: inertial_compensation: exception encountered in Fortran subroutine dgelsd_
error: called from:
error:   /home/moorepants/src/Gait-Analysis-Toolkit/Octave-Matlab-Codes/Inertial-Compensation/inertial_compensation.m at line 88, column 3

This error only occurs if the ATLAS LAPACK version is enabled and does not occur when the normal LAPACK is enabled. It would be nice to output the matrices at line 88 and then just try the backslash with ATLAS LAPACK and normal LAPACK.

moorepants commented 10 years ago

Once I have some time, I should try to reproduce with a simple example and submit an Octave bug report.

moorepants commented 10 years ago

This is relevant: https://lists.gnu.org/archive/html/octave-bug-tracker/2013-05/msg00179.html

moorepants commented 10 years ago

I keep getting this error seemingly randomly and switch liblapack alternatives and it then eventually works.