Skip to main content
13 events
when toggle format what by license comment
Aug 29, 2015 at 14:19 history edited J. M.'s missing motivation CC BY-SA 3.0
added 12 characters in body
Sep 27, 2012 at 14:42 comment added Daniel Lichtblau @J.M. Yes, a condition number check is fine too. As best I recall those are estimated for the various norms supported, but in ways that tend to reliably show when a matrix is effectively singular.
Sep 27, 2012 at 8:32 comment added J. M.'s missing motivation @Daniel, "check singular values for zeros" - or check the condition number of the matrix, as in my answer.
Sep 27, 2012 at 8:23 history edited Vitaliy Kaurov CC BY-SA 3.0
added 104 characters in body
Sep 27, 2012 at 4:18 comment added Vitaliy Kaurov @rm-rf good idea, will do.
Sep 27, 2012 at 3:57 comment added rm -rf @VitaliyKaurov There is no need to delete this answer. You can edit your answer to make a note of Daniel's and whuber's concerns and address them if you can. You can always improve the answer — deleting is a nuclear option. Probably also alert the OP to your updated answer.
Sep 27, 2012 at 1:35 comment added whuber A third problem is that computing a determinant works only when there are exactly as many equations as variables. There is a generalization (implementable via Minors), but it is likely to be relatively inefficient (there can be a lot of minors to compute and store).
Sep 27, 2012 at 1:34 comment added Daniel Lichtblau ... in the exact case, e.g. integers, Det computation can be slower than actual solving. Example:In[22]:= n = 2^10; mm = RandomInteger[{-1, 1}, {n, n}]; vec = RandomInteger[{-1, 1}, n]; In[27]:= AbsoluteTiming[sol = LinearSolve[mm, vec];] Out[27]= {11.3440000, Null} In[28]:= AbsoluteTiming[Det[mm] == 0] Out[28]= {53.7370000, False}
Sep 27, 2012 at 1:34 comment added Daniel Lichtblau This has two problems. For approximate matrices it is not numerically sound. Far safer is to check singular values for zeros below some tolerance. Else you can get a false positive, that is, a claim of solvability when the matrix is singular or nearly so. The other problem is that (to be cont'd)
Sep 26, 2012 at 19:12 vote accept arshajii
Sep 26, 2012 at 17:53 comment added Vitaliy Kaurov @george2079 the benchmark i posted is pretty general and the system is pretty large. Of course, some specific systems may show a different result.
Sep 26, 2012 at 17:47 comment added george2079 I suspect the performance trade may fall the other way depending on the size and character of the system. The most efficient methods for solving large systems usually do not involve directly computing the determinant. (LinearSolve automatically picks an efficient method..)
Sep 26, 2012 at 17:37 history answered Vitaliy Kaurov CC BY-SA 3.0