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 installwhereinstall_dirshould 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.datwill be generated. - The details of the file format of
namelist.defis 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.xandsolve_rr.x, please usereal_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.