Input File: Keywords
In this section we provide a complete list of allowed keywords for the input file used
in block2main with a short description for each keyword.
Global Settings
- # / !
If a line starts with ‘!’ or ‘#’, the line will be ignored.
- outputlevel
Optional. Followed by one integer. 0 = Silent. 1 = Print information for each sweep. 2 = Print information for iteration at each site (default). 3 = Print information for each Davidson/CG iteration.
- orbitals
Required for most normal cases. Not required if reloading MPO or when
orbital_rotationis the calculation type, or whenmodelis given. Followed by the file name for the orbital definition and integrals, in FCIDUMP format orhdf5format (used only inlibdmet). Onlynonspinadaptedis supported fororbitalswithhdf5format .- integral_tol
Optional. The integral values smaller than
integral_tolwill be discarded. Default is 1E-12 (for integral withhdf5format) or 0 (for integral with FCIDUMP format).- model
Optional. Can be used to perform calculations for some simple model Hamiltonian and the
orbitalskeyword can be skipped. For example,model hubbard 16 1 2will calculate ground state for 1-dimensional non-periodic Hubbard model with 16 sites and nearest-neighbor interaction, t = 1 and U = 2.model hubbard_periodic 16 1 2will do the calculation for the periodic Hubbard model.model hubbard_kspace 16 1 2will do the calculation for the periodic Hubbard model in the momentum space. One can then use this together withk_symmetryto utilize the translational symmetry or not use it if the keywordk_symmetryis not given.model hubbard 16 1 2 per-sitewill print the energy for each site.- prefix
Optional. Path to scratch folder. Default is
./nodex/.- num_thrds
Optional. Followed by an integer for the number of OpenMP threads to use. Default is 28 (if there is no
hf_occ integralin the input file) or 1 (to be compatible withStackBlockwhen there ishf_occ integralin the input file). Note that the environment variableOMP_NUM_THREADSis ignored.- mkl_thrds
Optional. Followed by an integer for the number of OpenMP threads to use for the MKL library. Default is 1.
- mem
Optional. Followed by an integer and a letter as the unit (g or G). Stack memory for doubles. Default is 2 GB. Note that the code may use a large amount of memory via dynamic allocation, which is not controlled by this number.
- intmem
Optional. Followed by an integer and a letter as the unit (g or G). Stack memory for integers. Default is 10% of
mem.- mem_ratio
Optional. Followed by a float number (0.0 ~ 1.0). The ratio of main stack memory. Default is 0.4.
- min_mpo_mem
Optional. Followed by auto, True, or False. If True, MPO building and simplification will cost much less memory. But the computational cost will be higher due to IO cost. Default is auto, which is True if number of orbitals is >= 120.
- qc_mpo_type
Optional. Followed by auto (default), conventional, nc, or cn. The Hamiltonian MPO formalism type. The default is to use Conventional for non-big-site, and NC for big-site. Conventional DMRG is overall 50% faster than NC, but the cost of the middle site is 2 times higher than NC. If the memory is limited and
min_mpo_memis used, one should set NC MPO type to make memory cost more uniform.- cached_contraction
Optional. Followed by an integer 0 or 1 (default). If 1, cached contraction is used for improving performance.
- nonspinadapted
Optional. If given, the code will work in the non-spin-adapted
SZmode. Otherwise, it will work in the spin-adaptedSU2mode.- k_symmetry
Optional. If given, the code will work in the non-spin-adapted or spin-adapted mode with additionally the K symmetry. Requiring the code to be built with
-DUSE_KSYMM.- use_complex
Optional. If given, the code will work in the complex number mode, where the integral, MPO and MPS contain all complex numbers. FCIDUMP with real or complex integral can be accepted in this mode. Requiring the code to be built with
-DUSE_COMPLEX. Conflict withuse_hybrid_complex(checked).- use_hybrid_complex
Optional. If given, the code will work in the hybrid complex number mode, where the MPO is split into real and complex sub-MPOs. MPS rotation matrix are real matrices but center site tensor is complex. FCIDUMP with real or complex integral can be accepted in this mode. Requiring the code to be built with
-DUSE_COMPLEX. Conflict withuse_complex(checked).- use_general_spin
Optional. If given, the code will work in (fermionic) spin orbital (rather than spatial orbital). FCIDUMP will be intepreted as integrals between spin orbitals. If the FCIDUMP is actually the normal FCIDUMP for spatial orbitals, the extra keyword
trans_integral_to_spin_orbitalis required to make it work with general spin. Requiring the code to be built with-DUSE_SG. Currently cannot be used together withk_symmetry.- single_prec
Optional. If given, the code will work in single precision (float) rather than double precision (double).
- integral_rescale
Optional.
auto(default) ornoneor floating point number. Ifautoand the calculation is done with single precision, the average diagonal of the one-electron integral will be moved to the energy constant. Ideally, with single precision, we want the energy constant to be close to the final dmrg energy. Ifautoand the calculation is done with double precision, nothing will happen. Ifnone, nothing will happen. If the value ofintegral_rescaleis a number, the energy constant will be adjust to the given number by shifting the average diagonal of the one-electron integral. This should only be used when the particle number of the calculation is a constant (namely,neleccontains only one number).- check_dav_tol
Optional.
auto(default) or 1 or 0. Ifautoor1and the calculation is done with single precision, the davidson tolerance will be set to be no lower than 5E-6.- trans_integral_to_spin_orbital
Optional. If given, the FCIDUMP (in spatial orbitals) will be reinterpretted to work with general spin. Only makes sense together with
use_general_spin.- singlet_embedding
Optional. If given, the code will use the singlet embedding formalism. Only have effects in the spin-adapted
SU2mode. No effects if it is a restart calculation.- conn_centers
Optional. Followed by a list of indices of connection sites or by
autoand the number of processor groups. Ifconn_centersis given, the parallelism over sites will be used (MPI required,twodotonly). For example,conn_centers auto 5will divide the processors into 5 groups. Only supports the standard DMRG calculation.- restart_dir
Optional. Followed by directory name. If
restart_diris given, after each sweep, the MPS will be backed up in the given directory.- restart_dir_per_sweep
Optional. Followed by directory name. If
restart_dir_per_sweepis given, after each sweep, the MPS will be backed up in the given directory name followed by the sweep index as the name suffix. This will save MPSs generated from all sweeps.- fp_cps_cutoff
Optional. Followed by a small fractional number. Sets the float-point number cutoff for saving disk storage. Default is
1E-16.- release_integral
Optional. If given, memory used by stroring the full integral will be release after building MPO (but before DMRG).
Calculation Types
The default calculation type is DMRG (without the need to write any keywords).
- fullrestart
Optional. If given, the initial MPS will be read from disk. Normally this keyword will be automatically added if any of the
restart_*keywords are used.- oh / restart_oh
Expectation value calculation on the DMRG optimized MPS or reloaded MPS.
- onepdm / restart_onepdm
One-particle density matrix calculation on the DMRG optimized MPS or reloaded MPS.
onepdmcan run with eithertwodot_to_onedot,onedotortwodot.- twopdm / restart_twopdm
Two-particle density matrix calculation on the DMRG optimized MPS or reloaded MPS.
- threepdm / restart_threepdm
Three-particle density matrix calculation on the DMRG optimized MPS or reloaded MPS. Cannot be used together with
conventional_npdm.- fourpdm / restart_fourpdm
Four-particle density matrix calculation on the DMRG optimized MPS or reloaded MPS. Cannot be used together with
conventional_npdm.- tran_onepdm / restart_tran_onepdm
One-particle transition density matrix among a set of MPSs.
- tran_twopdm / restart_tran_twopdm
Two-particle transition density matrix among a set of MPSs.
- tran_threepdm / restart_tran_threepdm
Three-particle transition density matrix among a set of MPSs. Cannot be used together with
conventional_npdm.- tran_fourpdm / restart_tran_fourpdm
Four-particle transition density matrix among a set of MPSs. Cannot be used together with
conventional_npdm.- tran_oh / restart_tran_oh
Operator overlap between each pair in a set of MPSs.
- diag_twopdm / restart_diag_twopdm
Diagonal two-particle density matrix calculation.
- correlation / restart_correlation
Spin and charge correlation function.
- copy_mps / restart_copy_mps
Copy MPS with one tag to another tag. Followed by the tag name for the output MPS. The input MPS tag is given by
mps_tags. The MPS transformation is also handled with this calculation type.- sample / restart_sample
Printing configuration state function (CSF) or determinant coefficients.
- orbital_rotation
Orbital rotation of an MPS to generate another MPS.
- compression
MPS compression.
- delta_t
Followed by a single float value or complex value as the time step for the time evolution. The computation will apply \(\exp (-\Delta t H) |\psi\rangle\) (with multiple steps). So when it is a real float value, we will do imaginary time evolution of the MPS (namely, optimizing to ground state or finite-temperature state). When it is a pure imaginary value, we will do real time evolution of the MPS (namely, solving the time dependent Schrodinger equation). General complex value can also be supported, but may not be useful.
- stopt_dmrg
First step of stochastic perturbative DMRG, which is the normal DMRG with a small bond dimension.
- stopt_compression
Second step of stochastic perturbative DMRG, which is the compression of \(QV |\Psi_0\rangle\). In general a bond diemension that is much larger than the first step should be used.
- stopt_sampling
Third step of stochastic perturbative DMRG. Followed by an integer as the number of CSF / determinants to be sampled. If any of the first and second step is done in the non-spin-adapted mode, the determinants will be sampled and this step must also be in the non-spin-adapted mode. Otherwise, CSF will be sampled if the keyword
nonspinadaptedis given, and determinants will be sampled if the keywordnonspinadaptedis not given.- restart_nevpt2_npdm
Compute 1-4 PDM for DMRG-SC-NEVPT2. If there are multiple roots, the calculation will be performed for all roots. The 1-4PDM will be used to compute the SC-NEVPT2 intermediate Eqs. (A16) and (A22) in the spin-free NEVPT2 paper. Only the two SC-NEVPT2 intermediates will be written into the disk.
- restart_mps_nevpt
Followed by three integers, representing the number of active, inactive, and external orbitals. Compute the
V_iandV_acorrelation energy in DMRG-SC-NEVPT2 using MPS compression. Only the spin-adapted version is implemented. If there are multiple roots, the keywordnevpt_state_numis required to set which root should be used to compute the correlation energy.
Calculation Modifiers
- target_t
Optional. Followed by a single float value as the total time for time evolution. This keyword should be used only together with
delta_t. Default is 1.- te_type
Optional. Followed by
rk4ortangent_space. This keyword sets the time evolution algorithm. This keyword should be used only together withdelta_t. Default isrk4.- statespecific
If
statespecifickeyword is in the input (with no associated value). This option implies that a previous state-averaged dmrg calculation has already been performed. This calculation will refine each individual state. This keyword should be used only with DMRG calculation type.- soc
If
sockeyword is in the input (with no associated value), the (normal or transition) one pdm for triplet excitation operators will be calculated (which can be used for spin-orbit coupling calculation). This keyword should be used only together withonepdm,tran_onepdm,restart_onepdm, orrestart_tran_onepdm. Not supported fornonspinadapted.- overlap
If
overlapkeyword is in the input (with no associated value), the expectation of identity operator will be calculated (which can be used for the overlap matrix between states). Otherwise, when the overlap keyword is not given, the full Hamiltonian is used. For compression, if this keyword is in the input, it directly compresses the given MPS. Otherwise, the contration of full Hamiltonian MPO and MPS is compressed. This keyword should only be used together withoh,tran_oh,restart_oh,restart_tran_oh,compression, andstopt_compression.- nat_orbs
If given, the natural orbitals will be computed. Optionally followed by the filename for storing the rotated integrals (FCIDUMP). If no value is associated with the keyword
nat_orbs, the rotated integrals will not be computed. This keyword can only be used together withrestart_onepdmoronepdm.- nat_km_reorder
Optional keyword with no associated value. If given, the artificial reordering in the natural orbitals will be removed using Kuhn-Munkres algorithm. This keyword can only be used together with
restart_onepdmoronepdm. And the keywordnat_orbsmust also exist.- nat_positive_def
Optional keyword with no associated value. If given, artificial rotation in the logarithm of the rotation matrix can be avoid, by make the rotation matrix quasi-positive-definite, with “quasi” in the sense that the rotation matrix is not Hermitian. This keyword can only be used together with
restart_onepdmoronepdm. And the keywordnat_orbsmust also exist.- trans_mps_to_sz
Optional keyword with no associated value. If given, the MPS will be transformed to non-spin-adapted before being saved. This keyword can only be used together with
restart_copy_mpsorcopy_mps.- trans_mps_to_singlet_embedding
Optional keyword with no associated value. If given, the MPS will be transformed to singlet-embedding format before being saved. This keyword can only be used together with
restart_copy_mpsorcopy_mps.- trans_mps_from_singlet_embedding
Optional keyword with no associated value. If given, the MPS will be transformed to non-singlet-embedding format before being saved. This keyword can only be used together with
restart_copy_mpsorcopy_mps.- trans_mps_to_complex
Optional keyword with no associated value. If given, the MPS will be transformed to complex wavefunction with real rotation matrix before being saved. This keyword can only be used together with
restart_copy_mpsorcopy_mps, and optionally withsplit_states. This keyword is conflict with othertrans\_mps\_*keywords. To load this MPS in the subsequent calculations, the keywordcomplex_mpsmust be used.- split_states
Optional keyword with no associated value. If given, the state averaged MPS will be split into individual MPSs. This keyword can only be used together with
restart_copy_mpsorcopy_mps, and optionally withtrans_mps_to_complex. This keyword is conflict with othertrans\_mps\_*keywords. The individual MPS will be the tag given by the keywordrestart_copy_mpsorcopy_mpswith-<n>appended, wherenis the root index counting from zero.- resolve_twosz
Optional. Followed by an integer, which is two times the projected spin. The transformed SZ MPS will have the specified projected spin. If the keyword
resolve_twoszis not given, an MPS with ensemble of all possible projected spins will be produced (which is often not very useful). This keyword can only be used together withrestart_copy_mpsorcopy_mps. And the keywordtrans_mps_to_szmust also exist.- normalize_mps
Optional keyword with no associated value. If given, the transformed SZ MPS will be normalized. This keyword can only be used together with
restart_copy_mpsorcopy_mps. And the keywordtrans_mps_to_szmust also exist.- big_site
Optional. Followed by a string for the implementation of the big site. Possible implementations are
folding,fock(only withnonspinadapted),csf(only withoutnonspinadapted). This keyword can only be used in dynamic correlation calculations. If this keyword is not given, the dynamic correlation calculation will be performed with normal MPS with no big sites.- expt_algo_type
Optional. Followed by a string
auto,fast,normal,symbolfree, orlowmem. Default isauto. This keyword can only be used with density matrix or transition density matrix calculations.autoisfastifconventional_npdmis given, orsymbolfreeifconventional_npdmis not given.normaluses less memory compared tofast, but the complexity can be higher.lowmemuses less memory compared tosymbolfree, but the complexity can be higher.symbolfreeis in general more efficient thanfastandnormal, but it is only available ifconventional_npdmis not given. For 3- and 4-particle density matrices, when this keyword is notautoorsymbolfree, it may consume a significant large amount of memory to store the symbols.- conventional_npdm
Optional, mainly for backward compatibility. If given, will use the conventional manual npdm code. This is only available for 1- and 2- particle density matrices. For most cases, the conventional manual code is slower. For soc 1-particle density matrix, only the conventional manual code is available.
- simple_parallel
Optional. Followed by an empty string (same as
ij) orijorkl. When this keyword is not given, the conventional parallel rule for QC-DMRG will be used. Otherwise, the simple parallel scheme based on distributing integral according toijorklindices is used. Whenqc_mpo_typeis auto, this simple scheme will also change the center for middle transformation to reduce the MPO bond dimension. The simple parallel scheme may be good for saving per-processor MPO memory cost for large scale parallelized DMRG.- condense_mpo
Optional. Followed by an integer (must be a power of 2, default is 1). When
condense_mpois not 1,block2will merge every two adjacent MPO sites into a larger site (after the MPO is created), repeatinglog(condense_mpo)times, until the total number of sites isn_sites / condense_mpo. Not working with SU2 symmetry. Whencondense_mpo 2is used with general spin, the calculation will be done with two spin orbitals as a site rather than one spin orbital. Not working withtwopdmrelated keywords. Require the keywordsimple_parallelfor the parallelization of the condensed MPO.- one_body_parallel_rule
Optional keyword with no associated value. If given, the more efficient parallelization rule will be used to distribute the MPO. This rule only works when the two-body term is zero or purely local. Real space Huabbard model is one of the case. For such Hamiltonian, the default (quantum chemistry) parallelization rule can still work, but may have no improvements with multiple processors. If this keyword is used with non-trivial two-body term, runtime error may happen.
- complex_mps
Optional keyword with no associated value. If given, complex expectation values will be computed for MPS with complex wavefunction tensor and real rotation matrices (in non-complex mode). Should be used together with
pdm,oh, or (complex)delta_ttype calculations. In complex mode, this should not be used as everything is complex.- tran_bra_range
Optional. Followed by the range parameter of bra state indices for computing transition density matrices. Normally two numbers are given, which is the starting index and endding index (not included).
- tran_ket_range
Optional. Followed by the range parameter of ket state indices for computing transition density matrices. Normally two numbers are given, which is the starting index and endding index (not included).
- tran_triangular
Optional keyword with no associated value. If given, only the transition density matrices with bra state index equal to or greater than the ket state index will be computed.
- skip_inact_ext_sites
Optional keyword with no associated value. If given, for uncontracted dynamic correlation calculations, the sweeps will skip inactive and external sites, so that the efficiency can be higher and the accuracy is not affected. This should only be used with uncontracted dynamic correlation keywords (checked) without any big sites. Normally it is useful only for dynamic correlation with singles (such as
mrcis).- full_integral
Optional keyword with no associated value. If not given, and it is a dynamic correlation with singles (namely, with keywords
nevpt2s,mrcis,mrrept2s,nevpt2-i,nevpt2-r,mrrept2-i, ormrrept2-r), the two-electron integral elements with more than two virtual indices will be set to zero. This should save some MPO contruction time, without affecting the sweep time cost and accuracy. If this keyword is given, the full integral elements will be used for constructing MPO.- nevpt_state_num
Followed by a single integer, the index of the root (counting from zero) used for SC-NEVPT2. Only useful for the calculation type
restart_mps_nevpt.
Uncontracted Dynamic Correlation
There can only be at most one dynamic correlation keyword (checked). Any of the following keyword must be followed by 2 integers (representing number of orbitals in the active space and number of electrons in the active space), or 3 integers (representing number of orbitals in the inactive, active, and external space, respectively).
- dmrgfci
Not useful for general purpose. Treating the inactive and external space using full Configuration Interaction (FCI).
- casci
Treating the inactive space as a single CSF (all occupied) and the external space as a single CSF (all empty).
- mrci
Same as
mrcisd.- mrcis
Multi-configuration CI with singles. The inactive / virtual space can have at most one hole / electron.
- mrcisd
Multi-configuration CI with singles and doubles. The inactive / virtual space can have at most two holes / electrons.
- mrcisdt
Multi-configuration CI with singles and doubles and triples. The inactive / virtual space can have at most three holes / electrons.
- nevpt2
Same as
nevpt2sd.- nevpt2s
Second order N-Electron Valence States for Multireference Perturbation Theory with singles. The inactive / virtual space can have at most one hole / electron.
- nevpt2sd
Second order N-Electron Valence States for Multireference Perturbation Theory with singles and doubles. The inactive / virtual space can have at most two holes / electrons. The zeroth-order Hamiltonian is Dyall’s Hamiltonian.
- mrrept2
Same as
mrrept2sd.- mrrept2s
Second order Restraining the Excitation degree Multireference Perturbation Theory (MRREPT) with singles. The inactive / virtual space can have at most one hole / electron.
- mrrept2sd
Second order Restraining the Excitation degree Multireference Perturbation Theory (MRREPT) with singles and doubles. The inactive / virtual space can have at most two holes / electrons. The zeroth-order Hamiltonian is Fink’s Hamiltonian.
Schedule
- onedot
Using the one-site DMRG algorithm.
onedotwill be implicitly used if you restart from aonedotmps (can be obtained from previous run withtwodot_to_onedot).- twodot
Default. Using the two-site DMRG algorithm.
- twodot_to_onedot
Followed by a single number to indicate the sweep iteration when to switch from the two-site DMRG algorithm to the one-site DMRG algorithm. The sweep iteration is counted from zero.
- schedule
Optional. Followed by the word
defaultor a multi-line DMRG schedule with the last line beingend. If not given, the defualt schedule will be used. Between the keywordscheduleandendeach line needs to have four values. They are corresponding to starting sweep iteration (counting from zero), MPS bond dimension, tolerance for the Davidson iteration, and noise, respectively. Starting sweep iteration is the sweep iteration in which the given parameters in the line should take effect. For each line, alternatively, one can providen_sites - 1values for the MPS bond dimension, where the ith number represents the right virtual bond dimension for the MPS tensor at site i. If this is the case, the site-dependent MPS bond dimension truncation will be used.- store_wfn_spectra
Optional with no associated value. If given, the singular values at each left-right partition during the last DMRG sweep will be stored as
sweep_wfn_spectra.npyafter convergence. Only works with DMRG type calculation. The stored array is a numpy array of 1 dimensional numpy array. The inner arrays normally do not have all the same length. For spin-adapted, each singular values correspond to a multiplet. So for non-singlet, the wavefunction spectra have different interpretation between SU2 and SZ. Additionally, when this keyword is given, the bipartite entanglement of the MPS will be computed, as \(S_k = - \sum_i \Lambda_i^2 \log \Lambda_i^2\) where \(\Lambda_i\) are all singular values found at site k. The bipartite entanglement will be printed and stored assweep_wfn_entropy.npyas a 1 dimensional numpy array.- extrapolation
Optional. Should only be used for standard DMRG calculation with the reverse schedule. Will print the extrapolated energy and generate the energy extrapolation plot (saved as a figure).
- maxiter
Optional. Followed by an integer. Maximum number of sweep iterations. Default is 1.
- sweep_tol
Optional. Followed by a small float number. Convergence for the sweep. Default is 1E-6.
- startM
Optional. Followed by an integer. Starting bond dimension in the default schedule. Default is 250.
- maxM
Required for default schedule. Followed by an integer. Maximum bond dimension in the default schedule.
- lowmem_noise
Optional. If given, the noise step will require less memory but potentially worse openmp load-balancing.
- dm_noise
Optional. If given, the density matrix noise will be used instead of the default perturbative noise. Density matrix noise is much cheaper but not very effective.
- cutoff
Optional. Followed by a small float number. States with eigenvalue below this number will be discarded, even when the bond dimension is large enough to keep this state. Default is 1E-14.
- svd_cutoff
Optional. Followed by a small float number. Cutoff of singular values used in parallel over sites. Default is 1E-12.
- svd_eps
Optional. Followed by a small float number. Accuracy of SVD for connection sites used in parallel over sites. Default is 1E-4.
- trunc_type
Optional. Can be
physical(default) orreduced, wherereducedre-weight eigenvalues by their multiplicities (only useful in theSU2mode).- decomp_type
Optional. Can be
density_matrix(default) orsvd, where svd may be less numerical stable and not working withnroots > 1.- real_density_matrix
Optional. Only have effects in the complex mode and when
decomp_typeisdensity_matrix. If given, the imaginary part of the density matrix will be discarded before diagonalization. This means that all rotation matrices will be orthogonal rather than unitary, although they will be stored as complex matrices. For complex mode DMRG with more than one roots, this keyword has to be used (not checked).- davidson_max_iter
Optional. Maximal number of iterations in Davidson. Default is 5000. If this number is reached but convergence is not achieved, the calculation will abort. If this numebr is larger than
davidson_soft_max_iter, this keyword has no effect.- davidson_soft_max_iter
Optional. Maximal number of iterations in Davidson. Default is 4000. If this number is reached but convergence is not achieved, the calculation will continue as if the convergence is achieved. If this numebr is -1, or larger than or equal to
davidson_max_iter, this keyword has no effect anddavidson_max_iteris used instead.- davidson_def_max_size
Optional. Max size of the Krylov subspace in Davidson. Default is 50. The Davidson working memory is two times this number times
Wmemprinted during sweeps. One may reduce this number to save memory when the MPS bond dimension is very large.- n_sub_sweeps
Optional. Number of sweeps for each time step. Defualt is 2. This keyword only has effect when used with
delta_tand whente_typeisrk4.
System Definition
- nelec
Optional. Followed by one or more integrers. Number of electrons in the target wavefunction. If not given, the value from FCIDUMP is used (and the keyword
orbtialsmust be given).- spin
Optional. Followed by one or more integrers. Two times the total spin of the target wavefunction in spin-adapted calculation. Or Two times the projected spin (number of alpha electrons minus number of beta electrons) of the target wavefunction in non-spin-adapted calculation. If not given, the value from FCIDUMP is used. If FCIDUMP is not given, 0 is used.
- irrep
Optional. Followed by one or more integrers. Point group irreducible representation of the target wavefunction. If not given, the value from FCIDUMP is used. If FCIDUMP is not given, 1 is used. MOLPRO notation is used, where 1 always means the trivial irreducible representation.
- sym
Optional. Followed by a lowercase string for the (Abelian) point group name. Default is
d2h. If the real point group isc1orc2, settingsym d2hwill also work.- k_irrep
Optional. Followed by one or more integrers. LZ / K irreducible representation number of the target wavefunction. If not given, the value from FCIDUMP is used. If FCIDUMP is not given, 0 is used.
- k_mod
Optional. Followed by one integer. Modulus for the K symmetry. Zero means LZ symmetry. If not given, the value from FCIDUMP is used. If FCIDUMP is not given, 0 is used.
- nroots
Optional. Followed by one integer. Number of roots. Default is 1. For
nroots > 1,ohorrestart_ohwill calculate the expectation of Hamiltonian on every state.tran_ohorrestart_tran_ohwill calculate the expectation of Hamiltonian on every possible pair of states as bra and ket states. The parameters for the quantum number of the MPS, namelyspin,isymandneleccan also take multiple numbers. This can also be combined withnroots > 1, which will then enable transition density matrix between MPS with different quantum numbers to be calculated (in a single run). This kind of calulation usually needs a largernrootsthan thenrootsactually needed, otherwise, some excited states with different quantum number from the ground-state may be missing. To save time, one may first do a calculation with largernrootsand small bond dimensions, and then dofullrestartand changenrootsto a smaller value. Then only the lowestnrootsMPSs will be restarted.- weights
Optional. Followed by a list of fractional numbers. The weights of each state for the state average calculation. If not given, equal weight will be used for all states.
- mps_tags
Optional. Followed by a single string or a list of strings. The MPS in scratch directory with the specific tag/tags will be loaded for restart (for
statespecific,restart_onepdm, etc.). The default MPS tag for input/output isKET.- read_mps_tags
Optional. Followed by a string. The tag for the constant (right hand side) MPS for compression. The tag of the output MPS in compression is set using
mps_tags.- proj_mps_tags
Optional. Followed by a single string or a list of strings. The tag for the MPSs to be projected out during DMRG. Must be used together with
proj_weights. The projection will be done by changing Hamiltonian from \(\hat{H}\) to \(\hat{H} + \sum_i w_i |\phi_i\rangle \langle \phi_i|\) (the level shift approach), where \(|\phi_i\rangle\) are the MPSs to be projected out. \(w_i\) are the weights.- proj_weights
Optional. Followed by a single float number or a list of float numbers. Can be used together with
proj_mps_tags. The number of float numbers in this keyword must be equal to the length ofproj_mps_tags. Normally, the weights are positive and they should be larger than the energy gap. If the weight is too small, you will get unphyiscal eigenvalues asEi + wi, whereEiis the energy of the MPSs to be projected out. Ifstatespecifickeyword is in the input, it will change the projection method from the orthogonalization method \(\hat{H} - \sum_i |\phi_i\rangle \langle \phi_i|\) to the level shift approach \(\hat{H} + \sum_i w_i |\phi_i\rangle \langle \phi_i|\).- symmetrize_ints
Optional. Followed by a small float number. Setting the largest allowed value for the integral element that violates the point group or K symmetry. Default is 1E-10. The symmetry-breaking integral elements will be discarded in the calculation anyway. Setting this keyword will only control whether the calculation can be performed or an error will be generated.
- occ
Optional. Followed by a list of float numbers between 0 and 2 for spatial orbital occupation numbers, or a list of float numbers between 0 and 1 for spin orbital occupation numbers, or a list of float numbers between 0 and 1 for the probability for each of four states at each site (experimental). This keyword should only be used together with
warmup occ.- bias
Optional. Followed by a non-negative float number. If not 1.0, sets an power based bias to occ.
- cbias
Optional. Followed by a non-negative float number. If not 0.0, sets a constant shift towards the equal-possibility occ.
cbiasis normally useful for shifting integral occ, whilebiasonly shifts fractional occ.- init_mps_center
Optional. Followed by a site index (counting from zero). Default is zero. This is the canonical center for the initial guess MPS.
- full_fci_space
Optional, not useful for general user. If
full_fci_spacekeyword is in the input (with no associated value), the full fci space is used (including block quantum numbers outside the space of the wavefunction target quantum number).- trans_mps_info
Optional, experimental. If
trans_mps_infokeyword is in the input (with no associated value), theMPSInfowill be initialized usingSZquantum numbers if inSU2mode, or usingSU2quantum numbers if inSZmode. A transformation ofMPSInfois then performed betweenSZandSU2quantum numbers.MultiMPSInfocannot be supported with this keyword.- random_mps_init
Optional. If given, the initial guess for the output MPS in compression will be random initialized in the way set by the
warmupkeyword. Otherwise, the constant right hand side MPS will be copied as the the initial guess for the output MPS.- warmup
Optional. If
wamup occthen the initial guess will be generated using occupation numbers. Otherwise, the initial guess will be generated assuming every quantum number has the same probability (default).
Orbital Reordering
There can only be at most one orbital reordering keyword (checked).
- noreorder
The order of orbitals is not changed.
- nofiedler
Same as
noreorder.- gaopt
Genetic algorithm for orbital ordering. Followed by (optionally) the configuration file for the
gaoptsubroutine. Default parameters for the genetic algorithm will be used if no configuration file is given.- fiedler
Default. Fiedler orbital reordering.
- irrep_reorder
Group orbitals with the same irrep together.
- reorder
Followed by the name of a file including the space-sparated orbital reordering indices (counting from one).
Unused Keywords
- hf_occ integral
Optional. For StackBlock compatibility only.