How do I compute the pseudo-inverse of a matrix using QR decomposition with column pivoting?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 26 Mag 2022
Risposto: MathWorks Support Team
il 26 Mag 2022
How do I compute the pseudo-inverse of a matrix using QR decomposition with column pivoting in MATLAB R2021b?
Risposta accettata
MathWorks Support Team
il 26 Mag 2022
We have a function:
>> x = lsqminnorm(A, b)
which uses QR decomposition with column pivoting behind the scenes and returns the equivalent of
>> x = pinv(A)*b
If you want to do this repeatedly for different vectors “b”, you can do the following:
>> dA = decomposition(A, 'cod');
>> x = dA \ b;
While we don’t have a function that computes the pseudo-inverse itself with this method, it’s possible to get it like so:
>> lsqminnorm(A, eye(size(A, 1)))
Finally, note that in the low-rank case, “lsqminnorm” computes an additional RQ decomposition of the matrix R to get a low-rank decomposition of the matrix A (using the LAPACK function “dtzrzf”).
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Linear Algebra in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!