here is the origial matrix that I want to invert:

```
rows: 5
   cols: 5
   dt: f
   data: [ 927321., 1014163., 923303., 923303., 947641., 1014163.,
       1260101., 1062130., 1062130., 1102823., 923303., 1062130.,
       1004488., 1004488., 990651., 923303., 1062130., 1004488.,
       1004488., 990651., 947641., 1102823., 990651., 990651., 1116004. ]

```

and using this line to invert the above matrix:

```
cvInvert(Mult, Inv, CV_LU);

```

The matrix returned after inverse is this:

```
rows: 5
   cols: 5
   dt: f
   data: [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0. ]

```

and according to documentation:

> 
> In the case of LU method, the function returns the src1 determinant
>  (src1 must be square). If it is 0, the matrix is not inverted and src2
>  is filled with zeros.
> 
> 
> 

But the strange thing is that I asked my friend to do the same in Matlab using this same matrix and it returned a non-zero matrix.. that means that the determinant is not zero.. then why does opencv think the determinant is zero?

Thanks