Hamiltonian Direct \(H\times\vec{v}\)

The module ed_hamiltonian_superc_direct_hxv constructs and applied on-the-fly each term of the sector Hamiltonian to the input vector as \(\vec{w} = H\times \vec{v}\) in a Arpack/Lanczos framework.

Different functions are implemented for the serial and the parallel case.

Quick access

Routines:

directmatvec_superc_main(), directmatvec_mpi_superc_main()

Used modules

  • ed_hamiltonian_superc_common

Subroutines and functions

subroutine  ed_hamiltonian_superc_direct_hxv/directmatvec_superc_main(nloc, vin, hv)

Serial version of the direct, on-the-fly matrix-vector product \(\vec{w}=H\times\vec{v}\) used in Arpack/Lanczos algorithm. This procedures evaluates the non-zero terms of any part of the global Hamiltonian and applies them to the input vector using serial algorithm.

Options:

nloc [integer] – Global dimension of the problem. size(v)=Nloc=size(Hv)

Parameters:
  • vin (nloc) [complex] – input vector (passed by Arpack/Lanczos) \(\vec{v}\)

  • hv (nloc) [complex] – output vector (required by Arpack/Lanczos) \(\vec{w}\)

subroutine  ed_hamiltonian_superc_direct_hxv/directmatvec_mpi_superc_main(nloc, v, hv)

MPI parallel version of the direct, on-the-fly matrix-vector product \(\vec{w}=H\times\vec{v}\) used in P-Arpack/P-Lanczos algorithm. This procedures evaluates the non-zero terms of any part of the global Hamiltonian and applies them to a part of the vector own by the thread using parallel algorithm.

Options:

nloc [integer] – Local dimension of the vector chunk. size(v)=Nloc with \(\sum_p\) Nloc = Dim

Parameters:
  • v (nloc) [complex] – input vector (passed by Arpack/Lanczos) \(\vec{v}\)

  • hv (nloc) [complex] – output vector (required by Arpack/Lanczos) \(\vec{w}\)