MATLAB Answers

Cannot create a matrix using pinv.

34 views (last 30 days)
은영 차
은영 차 on 19 Jan 2021
Commented: Christine Tobler on 20 Jan 2021
I want to find the inverse function of the MxN matrix using the pinv function.
However, a message indicating that the creation of the matrix has failed is displayed, which is as follows."SVD values do not converge"
The matrix is a full rank matrix.
Is this why I can't build a pseudo inverse matrix?Or is there any other reason that I can't create a pseudo inverse matrix?

  1 Comment

Matt J
Matt J on 19 Jan 2021
I suggest that you attach the matrix in a .mat file, so that we can examine it.

Sign in to comment.

Answers (1)

Christine Tobler
Christine Tobler on 19 Jan 2021
You've hit on a rare matrix that the SVD algorithm isn't able to work with (the SVD being the factorization called withing the PINV function). Please attach the matrix here or send it to Tech Support as a bug report. If you can also tell us your MATLAB release and operating system, that would be very helpful.


Show 1 older comment
은영 차
은영 차 on 20 Jan 2021
It occurs '2019a' also '2018b'
Christine Tobler
Christine Tobler on 20 Jan 2021
I just tried to reprocude this and didn't see the error in either 2019a or 2018b. This is likely to be machine specific.
Could you tell me what operating system you are using and also enter the line
>> version -lapack
in MATLAB and send me the printout that MATLAB returns? This should help me to try and reproduce this.
The reason you can get the inverse but not the pseudoinverse is that different decompositions are used to compute these two. The pseudoinverse is the more expensive algorithm. Since the matrix here is very well conditioned, both the inverse and the pseudoinverse will be the same, so you would be save just using INV here.
Christine Tobler
Christine Tobler on 20 Jan 2021
A colleague was able to reproduce this (using Windows on an Intel machine with AVX2 instructions). He could reproduce this in R2019a, but not anymore in R2019b. So this is fixed from R2019b onward.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!