CMSIS DSP library

Dependents:   performance_timer Surfboard_ gps2rtty Capstone ... more

Issue: arm_mat_inverse_f32 fails to invert non-singular matrices

arm_mat_inverse_f32 fails to invert the following non-singular matrix:

0.200000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.200000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.200000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.568200 0.465200 0.000000 0.000000 0.000000 0.000000 0.465200 0.569200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.200000

The function returns ARM_MATH_SINGULAR. The matrix is invertible (verified in MATLAB).

I have tested other similar matrices. It seems like if the function does not work when the input matrix almost in row-echelon format. Passing in the identity matrix, for instance, will generate the ARM_MATH_SINGULAR error.

3 comments:

23 Sep 2013

The formatting on that matrix got a little screwed up when I posted. It is a 6x6, and looks like this:

/media/uploads/garethc/screen_shot_2013-09-23_at_2.40.56_pm.png

08 Nov 2013

Hello,

I've updated the CMSIS library in the github repository and in https://mbed.org/users/mbed_official/code/mbed-dsp/, it should fix this issue. Could you try to run your code again?

Thanks, Bogdan

15 Apr 2016

Hi,