Following from 1, I'm interested in adding a non-Hermitian eigenvalue solver to ITensor. Looking at iterativesolvers.h, ITensor implements a version of Davidson which uses ITensor's various structs. I was wondering if it's possible to use a third-party eigensolver routine (such as Arnoldi from ARPACK) in ITensor. This would involve extracting the raw matrix data from the matrix object, which could then be passed to ARPACK. Is this feasible, or would I be better off trying to implement an algorithm within ITensor's framework (similarly to how Davidson is implemented)?

PS Thank you for your great work!