Re: [eigen] OneNorm and condition number estimation

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


On Fri, 13 Jan 2012, R Kannan wrote:

I've just finished implementing an Eigen one norm estimator based on Higham
and Tisseur's algorithm[1]. (attached code below.)
[...]
I'm happy to submit a patch -- does anyone have any views on where it can
go? The code makes liberal use of lambdas so it's unsuitable for C++98.

Gael Guennebaud knows the sparse modules best, but in the mean time I can comment. Let's start with some general comments to check that I understand what you're doing.

Computing the 1-norm of a matrix is easy if you can access its coefficients, so I assume that for an Eigen::SparseMatrix the naive method will be at least similar in speed than your (i.e., Higham and Tisseur's) method. But the method is useful if you can evaluate matrix-vector products and matrix-transpose-vector products but cannot easily access coefficients. One important instance is when you're estimating the 1-norm of the inverse, and hence the 1-condition number, provided you can solve systems quickly.

At the moment, you can put the code in Eigen's issue tracker at http://eigen.tuxfamily.org/bz/ so that other people can access it. That is the least amount of work for you. However, it will gain more visibility if it's incorporated in a module that is distributed with Eigen (initially, it will be 'unsupported'). In my opinion the functionality is important enough, but I'd like to see some improvements to the implementation: get rid of the lambdas and other C++0x stuff (unless there is a good argument to keep them, of course); add some documentation; add a unit test.

But Gael's opinion carries more weight.

Cheers,
Jitse


PS: For PARDISO, we already have the PARDISOSupport module, but I'm sure that feedback and patches are welcome.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/