Division-free inverse of a square matrix
Versión 1.0.3 (2 KB) por
Marco Cococcioni
This recursive function implements a division-free inverse of a square matrix.
This recursive function implements a division-free inverse of a square matrix, but it still requires the possibility to compute the reciprocal of scalar quantities.
Furthermore, the algorithm has a main limitation: it only works when all the elements in the main diagonal are different from zero.
This limitation make the algorithm interesting only from the research point of view, of course, or in very specific cases,
when the required condition holds.
One of such situations is when calculating a cubic B-spline interpolation or cubic NURBS interpolation, where a tridiagonal matrix always occurs, with main diagonal different from zero. Also, in some computations of finite element methods, strictly diagonally dominant matrices can be found.
Keep also in mind that this algorithm is very slow for large matrices, if compared with Matlab builtin 'inv' function, for obvious reasons.
Thus this algorithm is interesting only for data types (Matlab classes) for which the division is unavailable, provided that the reciprocal is available.
The algorithm is due to:
Wang Xingbo, "A Rank-reducing and Division-free Algorithm for Inverse of Square Matrices", OSSC-2011, 2011.
Citar como
Marco Cococcioni (2024). Division-free inverse of a square matrix (https://www.mathworks.com/matlabcentral/fileexchange/90626-division-free-inverse-of-a-square-matrix), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Se creó con
R2021a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS LinuxEtiquetas
Agradecimientos
Inspirado por: inv2(x)
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.