mldivide function (matrix left division) C++ analogs

Hello, I have a little trouble with implementing in C++ some code I've tested in Matlab. It appears that sparse matrix division that worked perfect in Matlab 2011a, gave different results using common C++ libraries (as LAPACK etc). I'm working with symmetrical positive sparse matrix A and solving the linear equation Ax=b. (in Matlab solution is x = mldivide (A,b);) Maybe someone found this issue previously? I believe it is probably because C++ solver is stuck in some wrong solution since the matrix may be close to singular, however Matlab somehow overcomes this and only gives me a warning that the matrix is close to singular. Thank you

Answers (1)

If the matrix is close to singular, you cannot expect a valid or unique solution. Therefore it is not surprising that your get "different" results.

2 Comments

Thank you.
Is there any C++ solver that performs close/similar to Matlab mldivide? Or what method does mldivide uses to solve linear equation for sparse positive symmetrical matrix?
The used LAPACK routines are explained exhaustively in "doc mldivide". E.g.:
[quote]Note To see information about choice of algorithm and storage allocation for sparse matrices, set the spparms parameter 'spumoni' = 1[/quote]

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Asked:

on 11 Dec 2011

Community Treasure Hunt

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

Start Hunting!