This package provides the solver library based on Shifted-Krylov subspace method and the software to calculate dynamical Green function by inputting the Hamiltonian and the vector of the excited state.
-
Latest release
https://github.com/issp-center-dev/Komega/releases/download/v2.0.0/komega-2.0.0.tar.gz
-
Release note
https://github.com/issp-center-dev/Komega/releases/tag/v2.0.0
-
Other version
- fortran compiler
- BLAS library
- LAPACK library (Used in the sample program)
- MPI library (Optional)
- Manual for the Library
- Manual for the sample program
app/
: The directory for the softwaresrc/
: The source directory for the softwaresample/
: The sample directoryShiftk.nb
: The mathmatica note book to test the software (for developers)denovo/
: Sample files not to input either Hamiltonian and the right-hand side initial vectorfrom_file/
: Sample files to input both Hamiltonian and the right-hand side initial vector
doc/
: The documents directory (only japanese, english version will be provided from ver.1.0)index.html
: Top page for documentslibrary/
: Directory for the document of the librariysoftware/
: Directory for the document of the sample program
configure
: Configuration script to buildsrc/
: The source directory for the librariestest/
: The test directory for the libraries
The simplest procedure is as follows:
- Type
$ ./configure --prefix=install_dir; make; make install
whereinstall_dir
should be replaced with the full path of the directory where the library will be stored. - The following objects are generated in the directory specified by
install_dir
.- In
install_dir/lib/
: Static and shared libraries. - In
install_dir/include/
: Header file for C/C++. install_dir/bin/Shiftk.out
: Sample program
- In
For more details, please see the manual.
- Change the directory to
app/sample/denovo/
orapp/sample/from_file/
. - Type the command
$ install_dir/bin/ShiftK.out namelist.def
. - When the software works well, the files such as
dynamicalG.dat
will be generated. - The details of the file format of
namelist.def
is written in the manual.
See the manual.
$ gfortran myprog.f90 -L install_dir/lib -lkomega -lblas -I install_dir/include
$ gcc myprog.c -L install_dir/lib -lkomega -lblas -I install_dir/include
etc.
Add the install_dir/lib
directry to the environment
variable LD_LIBRARY_PATH
to execute the file with dynamic link.
- Move to the
test/
directory. - Type the command
$ ./solve_cc.x < complex_freq.in
. - The program is normally finished when Residual vector becomes sufficiently small.
- You can check other programs (
solve_rc.x
,solve_cr.x
,solve_rr.x
) in a similar way. Forsolve_cr.x
andsolve_rr.x, please use
real_freq.in` as an input file. - The parameters in
krylov.in
(you can modify the file name freely) are as followsndim
: The dimeinsion of the psuedo Hamiltoniannl
: This parameter is used to test the projection. The vectors are calculated from the target vector up tonl(<=ndim)
th vector.nz
: The number of the frequences to calculate.itermax
: The maximum number of iterations.threshold
: The threshold to judge the convergence.rnd_seed
: The seed of random number to generate pseudo Hamiltonian.- Write the value of each frequencies line by line after this namelist.