vibeqc.SelectedCIOptions

class vibeqc.SelectedCIOptions(target_size=100, conv_tol_energy=1e-06, max_iter=50, verbose=0, random_seed=42, pt2_threshold=1e-06, selection_growth_factor=2.0, max_det_per_iter=5000, do_pt2_correction=True, spin_restricted=True, use_davidson=True, davidson_threshold=50, davidson_max_iter=100, davidson_conv_tol=1e-08)[source]

Bases: SolverOptions

Options for the Selected-CI solver.

Parameters:
  • target_size (int)

  • conv_tol_energy (float)

  • max_iter (int)

  • verbose (int)

  • random_seed (int)

  • pt2_threshold (float)

  • selection_growth_factor (float)

  • max_det_per_iter (int)

  • do_pt2_correction (bool)

  • spin_restricted (bool)

  • use_davidson (bool)

  • davidson_threshold (int)

  • davidson_max_iter (int)

  • davidson_conv_tol (float)

target_size

Maximum number of determinants in the variational space.

Type:

int

max_iter

Maximum selection + diagonalization cycles.

Type:

int

conv_tol_energy

Convergence threshold on total energy change (Hartree).

Type:

float

pt2_threshold

Perturbative threshold for selecting new determinants. Lower = more determinants selected per iteration.

Type:

float

selection_growth_factor

Max ratio by which the determinant space can grow each iteration.

Type:

float

max_det_per_iter

Hard cap on new determinants per iteration.

Type:

int

do_pt2_correction

Compute final PT2 energy correction after convergence.

Type:

bool

spin_restricted

Use spin-restricted (closed-shell) determinant basis. When True, each Det represents a doubly-occupied spatial-orbital configuration (spin-summed, S_z = 0). When False, uses SpinDet = (alpha_occ, beta_occ) pairs — required for open-shell or broken-spin-symmetry systems (multiplicity > 1).

Type:

bool

use_davidson

Use Davidson iterative diagonalization for ndet > davidson_threshold.

Type:

bool

davidson_threshold

Switch to Davidson when ndet exceeds this count.

Type:

int

davidson_max_iter

Maximum Davidson iterations.

Type:

int

davidson_conv_tol

Davidson residual convergence tolerance.

Type:

float

__init__(target_size=100, conv_tol_energy=1e-06, max_iter=50, verbose=0, random_seed=42, pt2_threshold=1e-06, selection_growth_factor=2.0, max_det_per_iter=5000, do_pt2_correction=True, spin_restricted=True, use_davidson=True, davidson_threshold=50, davidson_max_iter=100, davidson_conv_tol=1e-08)
Parameters:
  • target_size (int)

  • conv_tol_energy (float)

  • max_iter (int)

  • verbose (int)

  • random_seed (int)

  • pt2_threshold (float)

  • selection_growth_factor (float)

  • max_det_per_iter (int)

  • do_pt2_correction (bool)

  • spin_restricted (bool)

  • use_davidson (bool)

  • davidson_threshold (int)

  • davidson_max_iter (int)

  • davidson_conv_tol (float)

Return type:

None

Methods

__init__([target_size, conv_tol_energy, ...])

Attributes

conv_tol_energy

Energy convergence threshold (Hartree).

davidson_conv_tol

davidson_max_iter

davidson_threshold

do_pt2_correction

max_det_per_iter

max_iter

Maximum number of macro-iterations.

pt2_threshold

random_seed

Random seed for reproducibility.

selection_growth_factor

spin_restricted

target_size

Target number of determinants / bond-dimension / constraint set size.

use_davidson

verbose

0 = silent, 1 = per-iteration, 2 = debug.

pt2_threshold: float = 1e-06
selection_growth_factor: float = 2.0
max_det_per_iter: int = 5000
do_pt2_correction: bool = True
spin_restricted: bool = True
use_davidson: bool = True
davidson_threshold: int = 50
davidson_max_iter: int = 100
davidson_conv_tol: float = 1e-08