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


| Jens Wehner, PhD | eScience Research Engineer | Email: 
[email protected]<https://outlook.office.com/mail/options/mail/[email protected]>
 | Tel: +31(0)6 438 666 87 |
| Netherlands eScience Center<https://www.esciencecenter.nl/> | Science Park 
140 | 1098 XG Amsterdam | The Netherlands |
| Twitter<https://twitter.com/eScienceCenter> | 
LinkedIn<https://www.linkedin.com/company/netherlands-escience-center> | 
Facebook<https://www.facebook.com/NLeScienceCenter/> | 
YouTube<https://www.youtube.com/channel/UCYLAIMi62d8tx3Ru6DOSPeg>  |  
Newsletter<https://esciencecenter.us8.list-manage.com/subscribe/post?u=a0a563ca342f1949246a9f92f&id=31bfc2303d>
 |


________________________________
From: David Tellenbach <[email protected]>
Sent: Tuesday, October 6, 2020 20:36
To: [email protected] <[email protected]>
Subject: Re: [eigen] Hermitian matrices

@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.

On 6. Oct 2020, at 02:26, David Tellenbach 
<[email protected]<mailto:[email protected]>> wrote:

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)

If this is worth definitely depends on the particular use-case. It has been 
shown that a rectangular full packed format can be beneficial for e.g. Cholesky 
(http://www.netlib.org/lapack/lawnspdf/lawn199.pdf<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.214.102&rep=rep1&type=pdf>)
 or Pade approximations 
(https://pdfs.semanticscholar.org/86d2/28da4fc02672b2c990eb48a5a605c0e0360f.pdf).
 I published benchmark on this list and will try to dig them out. A 
Hermitian*Hermitian product can be quite fast (you can basically fall back to 
gemm for blocks in the RFP format) but Dense*Hermitian was not so good if I 
remember correctly.

David

On 6. Oct 2020, at 02:16, Rasmus Munk Larsen 
<[email protected]<mailto:[email protected]>> wrote:

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?

https://eigen.tuxfamily.org/dox/classEigen_1_1SelfAdjointView.html\<https://eigen.tuxfamily.org/dox/classEigen_1_1SelfAdjointView.html/>

Do you have some benchmark numbers for your patch?

Rasmus

On Mon, Oct 5, 2020 at 5:07 PM David Tellenbach 
<[email protected]<mailto:[email protected]>> wrote:
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

On 4. Oct 2020, at 21:27, Jens Wehner 
<[email protected]<mailto:[email protected]>> wrote:

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

| Jens Wehner, PhD | eScience Research Engineer | Email: 
[email protected]<https://outlook.office.com/mail/options/mail/[email protected]>
 | Tel: +31(0)6 438 666 87 |
| Netherlands eScience Center<https://www.esciencecenter.nl/> | Science Park 
140 | 1098 XG Amsterdam | The Netherlands |
| Twitter<https://twitter.com/eScienceCenter> | 
LinkedIn<https://www.linkedin.com/company/netherlands-escience-center> | 
Facebook<https://www.facebook.com/NLeScienceCenter/> | 
YouTube<https://www.youtube.com/channel/UCYLAIMi62d8tx3Ru6DOSPeg>  |  
Newsletter<https://esciencecenter.us8.list-manage.com/subscribe/post?u=a0a563ca342f1949246a9f92f&id=31bfc2303d>
 |


________________________________
From: David Tellenbach <[email protected]<mailto:[email protected]>>
Sent: Sunday, October 4, 2020 0:16
To: [email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>>
Subject: Re: [eigen] Hermitian matrices

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

On 2. Oct 2020, at 23:30, Jens Wehner 
<[email protected]<mailto:[email protected]>> wrote:

I recently discovered that David Tellenbach started/was in the middle/finished a

Hermitian matrix class.
http://manao.inria.fr/eigen_tmp/pullrequests/467/
I wanted to know what the status is and if any help is needed to push that 
along.

Cheers Jens
| Jens Wehner, PhD | eScience Research Engineer | Email: 
[email protected]<https://outlook.office.com/mail/options/mail/[email protected]>
 | Tel: +31(0)6 438 666 87 |
| Netherlands eScience Center<https://www.esciencecenter.nl/> | Science Park 
140 | 1098 XG Amsterdam | The Netherlands |
| Twitter<https://twitter.com/eScienceCenter> | 
LinkedIn<https://www.linkedin.com/company/netherlands-escience-center> | 
Facebook<https://www.facebook.com/NLeScienceCenter/> | 
YouTube<https://www.youtube.com/channel/UCYLAIMi62d8tx3Ru6DOSPeg>  |  
Newsletter<https://esciencecenter.us8.list-manage.com/subscribe/post?u=a0a563ca342f1949246a9f92f&id=31bfc2303d>
 |



Reply via email to