[petsc-users] Tensor product as matrix free method

Mathis Friesdorf mathisfriesdorf at gmail.com
Mon Mar 31 11:49:40 CDT 2014


Hello everybody,

for my Ph.D. in theoretical quantum mechanics, I am currently trying to
integrate the Schroedinger equation (a linear partial differential
equation). In my field, we are working with so called local spin chains,
which mathematically speaking are described by tensor products of small
vector spaces over several systems (let's say 20). The matrix corresponding
to the differential equation is called Hamiltonian and can for typical
systems be written as a sum over tensor products where it acts as the
identity on most systems. It normally has the form

*\sum Id \otimes Id ... Id \otimes M \otimes Id \otimes ...*

where M takes different positions.I know how to explicitly construct the
full matrix and insert it into Petsc, but for the interesting applications
it is too large to be stored in the RAM. I would therefore like to
implement it as a matrix free version.
This should be possible using MatCreateMAIJ() and VecGetArray(), as the
following very useful post points out
http://lists.mcs.anl.gov/pipermail/petsc-users/2011-September/009992.html.
I was wondering whether anybody already made progress with this, as I am
still a bit lost on how to precisely proceed. These systems really are
ubiquitous in theoretical quantum mechanics and I am sure it would be
helpful to quite a lot of people who still shy away a bit from Petsc.

Thanks already for your help and all the best, Mathis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140331/e33f9bca/attachment.html>


More information about the petsc-users mailing list