mldivide function (matrix left division) C++ analogs

3 vues (au cours des 30 derniers jours)
genawas Vasserman
genawas Vasserman le 11 Déc 2011
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

Réponses (1)

Jan
Jan le 11 Déc 2011
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 commentaires
genawas Vasserman
genawas Vasserman le 11 Déc 2011
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?
Jan
Jan le 11 Déc 2011
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]

Connectez-vous pour commenter.

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by