Sometime we need to solve a bunch of small linear (least-square) systems of the same size. This function can accomplish this task conveniently.
The system matrix and RHS are passed as 3D arrays.
Furthermore, calling syntax can support two simplifications:
- same RHS for all systems; or
- single RHS for each system.
Followed an idea from Tim Davis (using sparse)
Bruno Luong (2020). Multiple same-size linear solver (https://www.mathworks.com/matlabcentral/fileexchange/24260-multiple-same-size-linear-solver), MATLAB Central File Exchange. Retrieved .
Thanks for this file, shedding light to me on this kind of problems!
It is early a great function.
Thanks for sharing.
I tried your function on a large array (eg. 5*5*1000000), it occupies too much memory. It will take at least 5 times memory as the initial data package. And most of the memory cost is to store the sparse indexes. Is there any way to reduce the memory consuming? Thanks!
Correct miss-leading MultiProd H1 line
- A wrapper to call with arrays that loop on the third dimension
Minor typo correction