block.dmrg¶
DMRG calculations.
-
class
block.dmrg.
MPS
(*args, **kwargs)¶ Bases:
object
-
get_site_tensors
(self: block.dmrg.MPS, arg0: int) → block.VectorMatrix¶
-
get_w
(self: block.dmrg.MPS) → block.operator.Wavefunction¶
-
n_sweep_iters
= None¶
-
site_blocks
= None¶
-
write_to_disk
(self: block.dmrg.MPS, state_index: int, write_state_average: bool = False) → None¶
-
-
block.dmrg.
MPS_init
(arg0: bool) → None¶ Initialize the single site blocks
MPS.site_blocks
.
-
class
block.dmrg.
SweepParams
(*args, **kwargs)¶ Bases:
object
-
additional_noise
¶
-
backward_starting_size
¶ Initial size of system block if in backward direction.
-
block_iter
¶ Counter for controlling the blocking iteration (inner loop).
-
current_root
¶
-
davidson_tol
¶
-
env_add
¶ The dot block size near environment block.
-
forward_starting_size
¶ Initial size of system block if in forward direction.
-
guess_type
¶
-
largest_dw
¶ Largest discarded weight (or largest error).
-
lowest_energy
¶
-
lowest_energy_spin
¶
-
lowest_error
¶
-
n_block_iters
¶ The number of blocking iterations (inner loops) needed in one sweep.
-
n_keep_qstates
¶ (May not be useful.)
-
n_keep_states
¶ The bond dimension for states in current sweep.
-
noise
¶
-
one_dot
¶ Whether it is the one-dot scheme.
-
save_state
(self: block.dmrg.SweepParams, forward: bool, size: int) → None¶ Save the sweep direction and number of sites in system block into the disk file ‘statefile.*.tmp’.
-
set_sweep_parameters
(self: block.dmrg.SweepParams) → None¶
-
sweep_iter
¶ Counter for controlling the sweep iteration (outer loop).
-
sys_add
¶ The dot block size near system block.
-
-
block.dmrg.
block_and_decimate
(sweep_params: block.dmrg.SweepParams, system: block.block.Block, new_system: block.block.Block, use_slater: bool, dot_with_sys: bool) → None¶ Block and decimate to generate the new system block.
-
block.dmrg.
calldmrg
(input_file_name: str) → None¶ Global driver.
-
block.dmrg.
dmrg
(sweep_tol: float) → None¶ Perform DMRG calculation.
-
block.dmrg.
do_one
(sweep_params: block.dmrg.SweepParams, warm_up: bool, forward: bool, restart: bool, restart_size: int) → float¶ Perform one sweep procedure.
-
block.dmrg.
get_dot_with_sys
(system: block.block.Block, one_dot: bool, forward: bool) → bool¶ Return the dot_with_sys variable, determing whether the complementary operators should be defined based on system block indicies.
-
block.dmrg.
guess_wavefunction
(solution: block.operator.Wavefunction, e: block.DiagonalMatrix, big: block.block.Block, guess_wave_type: block.block.GuessWaveTypes, one_dot: bool, state: int, transpose_guess_wave: bool, additional_noise: float = 0.0) → None¶
-
block.dmrg.
make_system_environment_big_overlap_blocks
(system_sites: block.VectorInt, system_dot: block.block.Block, environment_dot: block.block.Block, system: block.block.Block, new_system: block.block.Block, environment: block.block.Block, new_environment: block.block.Block, big: block.block.Block, sweep_params: block.dmrg.SweepParams, dot_with_sys: bool, use_slater: bool, integral_index: int, bra_state: int, ket_state: int) → None¶