Good luck,
:)
From: David Tellenbach <david.tellenbach@xxxxxx>
Sent: Thursday, October 8, 2020 23:36
To: eigen@xxxxxxxxxxxxxxxxxxx <eigen@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [eigen] Hermitian matrices
Hi Jens,
Unfortunately I couldn't find it locally anymore and Bitbucket's Mercurial repos aren't accessible anymore. There should be a copy somewhere (probably Gaël has one in the pull request archive), I'll look around.
David
Hey David,
have you found the code?
I like the Hermitian matrix for the memory saving and for very nicely expressing physics in the datatype. I think the idea was to put it into the unsupported.
Cheers Jens
@Rasmus, here are some benchmarks: https://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2018/08/msg00010.html (scroll the the very end). As already
said, Hermitian * Hermitian can give quite good performance and Dense * Hermitian doesn't really hurt.
IIRC it was in fact you who suggested using not a plain packed but a rectangular full packed format ;-) ( https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/lapack-routines/matrix-storage-schemes-for-lapack-routines.html#matrix-storage-schemes-for-lapack-routines_RFP_STORAGE)
David
David,
I can see that this might save 50% of memory by only storing the upper or lower triangle, and it would be nice to be able to automatically dispatch to faster eigensolvers etc. for Hermitian matrices. However, packed storage kernels are notoriously
hard to optimize, and I wonder how much we would gain over the existing mechanism like SelfAdjointView?
Do you have some benchmark numbers for your patch?
Rasmus
Hi Jens,
It would be great if you could finish this! I just saw that the patch is not accessible anymore, I'll see if I can find it.
Best,
David
Thanks David,
I would probably like to give it a shot to brush up on my template programming skills or lack thereof.
Do you have the code somewhere public so I can have a look? If you have time afterwards we can have a chat about the better implementation.
Cheers Jens
Hi Jens,
Yes, I've implemented support for Hermitian matrices as a Google Summer of Code student in 2018 and finishing it is still somewhere on my backlog. However, with today's knowledge the implementation should look quite differently. If you are interested
to work on this I'm happy to discuss. Otherwise you will have to wait until I find some time to reimplement it. This won't take me too long but without committing to anything, I can already say that I won't find time before the beginning of 2021.
Best,
David
I recently discovered that David Tellenbach started/was in the middle/finished a
Hermitian matrix class.
I wanted to know what the status is and if any help is needed to push that along.
Cheers Jens
|