any luck with the hermitian matrices?
From: Rasmus Munk Larsen <rmlarsen@xxxxxxxxxx>
Sent: Friday, October 9, 2020 22:12
To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [eigen] Hermitian matrices
Sorry, David :-( I hope you find it!
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.
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.
@Rasmus, here are some benchmarks: https://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2018/08/msg00010.html
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
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?
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.
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.
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.
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.