quemb.molbe.solver.DMRG_ArgsUser

class quemb.molbe.solver.DMRG_ArgsUser(norb=None, nelec=None, startM=25, maxM=500, max_iter=60, max_mem=100, max_noise=0.001, min_tol=1e-08, twodot_to_onedot=50, root=0, block_extra_keyword=NOTHING, schedule_kwargs=NOTHING, force_cleanup=False)
Parameters:
  • max_mem (Final[int]) – Maximum memory in GB.

  • root (Final[int]) – Number of roots to solve for.

  • startM (Final[int]) – Starting MPS bond dimension - where the sweep schedule begins.

  • maxM (Final[int]) – Maximum MPS bond dimension - where the sweep schedule terminates.

  • max_iter (Final[int]) – Maximum number of sweeps.

  • twodot_to_onedot (Final[int]) – Sweep index at which to transition to one-dot DMRG algorithm. All sweeps prior to this will use the two-dot algorithm.

  • block_extra_keyword (Final[list[str]]) – Other keywords to be passed to block2. See: https://block2.readthedocs.io/en/latest/user/keywords.html

  • schedule_kwargs (dict[str, list[int] | list[float]]) –

    Dictionary containing DMRG scheduling parameters to be passed to block2.

    e.g. The default schedule used here would be equivalent to the following:

    schedule_kwargs = {
        'scheduleSweeps': [0, 10, 20, 30, 40, 50],
        'scheduleMaxMs': [25, 50, 100, 200, 500, 500],
        'scheduleTols': [1e-5,1e-5, 1e-6, 1e-6, 1e-8, 1e-8],
        'scheduleNoises': [0.01, 0.01, 0.001, 0.001, 1e-4, 0.0],
    }
    

Attributes

norb: Final[int | None]

Becomes mf.mo_coeff.shape[1] by default

nelec: Final[int | None]

Becomes mf.mo_coeff.shape[1] by default

startM: Final[int]
maxM: Final[int]
max_iter: Final[int]
max_mem: Final[int]
max_noise: Final[float]
min_tol: Final[float]
twodot_to_onedot: Final[int]
root: Final[int]
block_extra_keyword: Final[list[str]]
schedule_kwargs: dict[str, list[int] | list[float]]
force_cleanup: Final[bool]

Methods

__init__([norb, nelec, startM, maxM, ...])

Method generated by attrs for class DMRG_ArgsUser.