c++linear-algebranumerical-methodsumfpack

solving Ax =B using UMFPACK


I'm using UMFPACK to solve Ax = B where both A and B are matrices. Currently in my implementation, I'm solving x(:,i) = A\b(:,i) one by one to get x. Is there a way to directly get x without having to loop through each columns of B like LAPACK does?


Solution

  • I'm afraid not. UMFPACK user guide p59, about umfpack_*_solve routine(s):

    This routine does not solve for multiple right-hand-sides, nor does it allow b to be stored in a sparse-column form.

    Also, under "Future work":

    The solve routines could handle multiple right-hand sides, and sparse right-hand sides.

    Which rather implies that it isn't supported presently.