Prev: SNR estimation
Next: MZDDE toolbox for Zemax
From: Sebastiaan on 29 Oct 2009 09:18 Dear users, I am trying to solve a very ill conditioned system with linsolve, but it makes Matlab hang. The matrix A is symmetric and ill-conditioned: >> rcond(A) ans = 5.7435e-21 >> max(max(abs(triu(A)-tril(A)'))) ans = 0 I try to solve this using linsolve (with SYM=false it works): linsolvopts = SYM: 1 POSDEF: 0 Executing: >> [x, rcond] = linsolve(A, b, linsolvopts); makes Maltab unresponsive. Apparently, the LAPACK subroutine dsysv (which is the one used I think) crashes. I know I should not try to solve these kind of ill-conditioned matrices, but I use rcond result from linsolve to check if the result may make sense. However, I do not believe dsysv is supposed to crash. I have tried it with 2009a/b x86_64 on Linux and on another machine with 2009a x68_32, Windows XP, all crash. The matrix and vector can be downloaded here. It is a moderate 96x96 sized problem (76kiB): http://www.xs4all.nl/~pukenmul/downloads/ProblemMat.mat Thanks! Sebastiaan
From: Bobby Cheng on 29 Oct 2009 21:13 http://www.mathworks.com/support/bugreports/search_results?search_executed=1&keyword=573283&release_filter=Exists+in&release=168&selected_products=&commit=Search See bug report 573283. "Sebastiaan " <s.breedveld(a)erasmusmc.REMOVE.BOO.BOO.nl> wrote in message news:hcc4ma$rso$1(a)fred.mathworks.com... > Dear users, > > I am trying to solve a very ill conditioned system with linsolve, but it > makes Matlab hang. > > The matrix A is symmetric and ill-conditioned: >>> rcond(A) > ans = > 5.7435e-21 > >>> max(max(abs(triu(A)-tril(A)'))) > ans = > 0 > > I try to solve this using linsolve (with SYM=false it works): > linsolvopts = > SYM: 1 > POSDEF: 0 > > Executing: >>> [x, rcond] = linsolve(A, b, linsolvopts); > > makes Maltab unresponsive. Apparently, the LAPACK subroutine dsysv (which > is the one used I think) crashes. > > I know I should not try to solve these kind of ill-conditioned matrices, > but I use rcond result from linsolve to check if the result may make > sense. However, I do not believe dsysv is supposed to crash. > > I have tried it with 2009a/b x86_64 on Linux and on another machine with > 2009a x68_32, Windows XP, all crash. > > The matrix and vector can be downloaded here. It is a moderate 96x96 sized > problem (76kiB): > http://www.xs4all.nl/~pukenmul/downloads/ProblemMat.mat > > Thanks! > Sebastiaan >
From: Sebastiaan on 30 Oct 2009 05:28 "Bobby Cheng" <bcheng(a)mathworks.com> wrote in message <hcdekc$bdc$1(a)fred.mathworks.com>... > http://www.mathworks.com/support/bugreports/search_results?search_executed=1&keyword=573283&release_filter=Exists+in&release=168&selected_products=&commit=Search > > See bug report 573283. > Wow, thank you! Is it possible to reply or ammend to a bug report? (I can only give quality feedback...) The bugreport tells me: ---- The functions ldl and inv may hang MATLAB when the input matrix meets all of the following criteria: * Hermitian * ill-conditioned * full * the eigenvalues cluster around zero. --- It hangs with ldl and inv too, but the last criterion is not met. A few (5) eigenvalues are in the order of 1, 33 in the order of 100 and 32 are >1e6. Do I have to file a new bug report? Sebastiaan
From: Bobby Cheng on 30 Oct 2009 13:43 I have not done this myself as I can change this from the inside. :) But I think you can track the report update and comment of the content. Again, I have not tried any on this. I can assure you that it is the same issue in the bug report. I am investigating the issue and have added your matrix into our tests. So thank you for the test case. ---Bob. "Sebastiaan " <s.breedveld(a)erasmusmc.REMOVE.BOO.BOO.nl> wrote in message news:hcebj2$7o5$1(a)fred.mathworks.com... > "Bobby Cheng" <bcheng(a)mathworks.com> wrote in message > <hcdekc$bdc$1(a)fred.mathworks.com>... >> http://www.mathworks.com/support/bugreports/search_results?search_executed=1&keyword=573283&release_filter=Exists+in&release=168&selected_products=&commit=Search >> >> See bug report 573283. >> > Wow, thank you! > > Is it possible to reply or ammend to a bug report? (I can only give > quality feedback...) > > The bugreport tells me: > ---- > The functions ldl and inv may hang MATLAB when the input matrix meets all > of the following criteria: > * Hermitian > * ill-conditioned > * full > * the eigenvalues cluster around zero. > --- > It hangs with ldl and inv too, but the last criterion is not met. A few > (5) eigenvalues are in the order of 1, 33 in the order of 100 and 32 are > >1e6. > > Do I have to file a new bug report? > > Sebastiaan >
From: Steven Lord on 30 Oct 2009 15:00
"Bobby Cheng" <bcheng(a)mathworks.com> wrote in message news:hcf8jm$9u5$1(a)fred.mathworks.com... >I have not done this myself as I can change this from the inside. :) > > But I think you can track the report update and comment of the content. > Again, I have not tried any on this. > > I can assure you that it is the same issue in the bug report. I am > investigating the issue and have added your matrix into our tests. So > thank you for the test case. > > ---Bob. Sebastiaan, In general, if you're looking to respond or amend the content in the bug report (not feedback on the quality of the bug report) you should contact Technical Support and reference the bug report number. So for this one, you could have sent a message to support saying something like "I read bug report 573283, and I think I have a similar problem but it's not exactly the same. Here's my data ..." -- Steve Lord slord(a)mathworks.com comp.soft-sys.matlab (CSSM) FAQ: http://matlabwiki.mathworks.com/MATLAB_FAQ |