New Post: Matrix Inversion does not give an error?
Thanks for the answer! The determinant gave zero. I will use the determinant to check for invertibility, even this is not a sufficient constraint. (But suitable in my case) There is as well the...
View ArticleNew Post: Matrix Inversion does not give an error?
You can also use the SVD decomposition instead of LU, which provides a condition number to get an idea how ill-conditioned the matrix is. You're right, Inverse and Determinant (and also...
View ArticleNew Post: MILU(0) preconditioner
I wrote a milu(0) preconditioner which is a lot faster than your incomplete LU implementation and can reduce the number of iterations considerably (compared to standard ilu(0)). Feel free to include it...
View ArticleNew Post: MILU(0) preconditioner
Excellent, thanks! Yes, I'll include it into the library. I've noticed that the existing ILU(0) and ILUTP implementations do not actually leverage the sparse storage format at all yet, which may...
View ArticleNew Post: MILU(0) preconditioner
PS: how should I refer to you for credits at least in the release notes? Just "wo80"? Thanks, Christoph
View ArticleNew Post: MILU(0) preconditioner
You can use my full name there (Christian Woltering). BTW, the code is part of a major rewrite of the sparse matrix operations (with focus on performance). Most of the code comes from Saad's SPARSKIT....
View ArticleCreated Unassigned: (Very, very) Minor Documentation Fix [5731]
Hi,Exception calling "AddData" with "1" argument(s): "The histogram does not __contains__ the value."At C:\MyProgramFiles\Scripts\test_mathnet_numerics_operations.ps1:351 char:13+ foreach {...
View ArticleNew Post: MILU(0) preconditioner
For completeness: the complex version works just the same. Replace all 'double' with 'Complex' and that's it.
View ArticleNew Post: MILU(0) preconditioner
Thanks. Yes, that would be great! Btw, I've noticed in MILU(0) you had converted to the common CSR format where the number of non-zero values is stored in an additional field of the row pointers array....
View ArticleNew Post: MILU(0) preconditioner
Complex: thanks - I'll make it available for all 4 types
View ArticleSource code checked in, #e098656b080d8c359baae0703b5ac1ff01df4fb6
Resources: fix typo in histogram exception message.
View ArticleClosed Unassigned: (Very, very) Minor Documentation Fix [5731]
Hi,Exception calling "AddData" with "1" argument(s): "The histogram does not __contains__ the value."At C:\MyProgramFiles\Scripts\test_mathnet_numerics_operations.ps1:351 char:13+ foreach {...
View ArticleCommented Unassigned: (Very, very) Minor Documentation Fix [5731]
Hi,Exception calling "AddData" with "1" argument(s): "The histogram does not __contains__ the value."At C:\MyProgramFiles\Scripts\test_mathnet_numerics_operations.ps1:351 char:13+ foreach {...
View ArticleNew Post: MILU(0) preconditioner
Finally the fix for CSR storage! Really like what you're doing for v3 ... But you have introduced a bug in the MILU0 code. Arrays for MSR storage have to be (nonzeros + 1) long! So_alu = new...
View ArticleNew Post: MILU(0) preconditioner
doh - maybe I shoudn't do any refactoring at 2am. Thanks for pointing this out!
View ArticleNew Post: Profiling code that calls Matrix multipication
I've been trying to profile my app with JetBrains dottrace performance. The problem is when I profile it with thread cycle time, CacheObliviousMatrixMultiply takes forever. Simple log4net tracing...
View ArticleNew Post: Profiling code that calls Matrix multipication
What could work without much changes is to use the MKL native provider. The multiplication is then be performed in native code, which the profiler probably treats as a black box call. Using a native...
View ArticleNew Post: Using Math.NET in VB.NET
Hi, In general, you'd first create a matrix, then factorize it (.Evd() method). On the returned EVD factorization you can then access the resulting eigen-values. I recommend to use the v3.0 alpha...
View ArticleNew Post: Profiling code that calls Matrix multipication
That speeds up my code a lot, and allowed me to find other bottlenecks with my profiler. I've gone from ~25 seconds a call to 3-6 seconds a call.
View ArticleNew Post: Using 3.0 alpha in production
Would you recommend upgrading to 3.0 alpha for more speed? Has it been well tested for correctness? My current hotspot in the math.net numerics is RankCorrelation.
View Article