Electronic Structure Solvers

class NTPolySwig.DensityMatrixSolvers

A Class For Solving Chemistry Systems Based On Sparse Matrices.

static DenseDensity(Hamiltonian, InverseSquareRoot, trace, Density, solver_parameters)

Compute the density matrix using a dense solver.:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type trace: float

  • trace – of the density matrix (usually the number of electrons).:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type energy_value_out: float

  • energy_value_out – the energy of the system (optional).:type chemical_potential_out: float

  • chemical_potential_out – the chemical potential calculated.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

static EnergyDensityMatrix(Hamiltonian, Density, EnergyDensity, threshold=0.0)

Compute the energy-weighted density matrix.:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute from.:type Density: Matrix_ps

  • Density – the density matrix.:type EnergyDensity: Matrix_ps

  • EnergyDensity – the energy-weighted density matrix to compute.:type threshold: float, optional

  • threshold – for flushing small values to zero.

static HPCP(Hamiltonian, InverseSquareRoot, trace, Density, solver_parameters)

Compute the density matrix from a Hamiltonian using the HPCP method. Based on the algorithm presented in: ‘truflandier2016communication’:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type trace: float

  • trace – of the density matrix (usually the number of electrons).:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type energy_value_out: float

  • energy_value_out – the energy of the system (optional).:type chemical_potential_out: float

  • chemical_potential_out – the chemical potential calculated.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

static McWeenyStep(*args)
Overload 1:

Take one McWeeny Step DOut = 3*DD - 2*DDD:type D: Matrix_ps

Parameters:
  • D – the density matrix.:type DOut: Matrix_ps

  • DOut – a more purified matrix.:type threshold: float, optional

  • threshold – for flushing small values to zero.


Overload 2:

Take one McWeeny Step DOut = 3*DSD - 2*DSDSD:type D: Matrix_ps

Parameters:
  • D – the density matrix.:type S: Matrix_ps

  • S – the overlap matrix.:type DOut: Matrix_ps

  • DOut – a more purified matrix.:type threshold: float, optional

  • threshold – for flushing small values to zero.


Overload 3:

Take one McWeeny Step DOut = 3*DSD - 2*DSDSD:type D: Matrix_ps

Parameters:
  • D – the density matrix.:type S: Matrix_ps

  • S – the overlap matrix.:type DOut: Matrix_ps

  • DOut – a more purified matrix.:param threshold: for flushing small values to zero.

static PM(Hamiltonian, InverseSquareRoot, trace, Density, solver_parameters)

Compute the density matrix from a Hamiltonian using the PM method. Based on the PM algorithm presented in ‘palser1998canonical’:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type trace: float

  • trace – of the density matrix (usually the number of electrons).:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type energy_value_out: float

  • energy_value_out – the energy of the system (optional).:type chemical_potential_out: float

  • chemical_potential_out – the chemical potential calculated.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

static ScaleAndFold(Hamiltonian, InverseSquareRoot, trace, Density, homo, lumo, solver_parameters)

Compute the density matrix from a Hamiltonian using the Scale and Fold method. Based on the method of ‘rubensson2011nonmonotonic’ . Note that for this method, you must provide the value of the homo and lumo gap. It is not necessary for these to be accurate, but give a conservative value.:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type trace: float

  • trace – of the density matrix (usually the number of electrons).:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type homo: float

  • homo – A conservative estimate of the highest occupied eigenvalue.:type lumo: float

  • lumo – A conservative estimate of the lowest unoccupied eigenvalue.:type energy_value_out: float

  • energy_value_out – the energy of the system (optional).:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

static TRS2(Hamiltonian, InverseSquareRoot, trace, Density, solver_parameters)

Compute the density matrix from a Hamiltonian using the TRS2 method. Based on the TRS2 algorithm presented in: ‘niklasson2002’.:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type trace: float

  • trace – of the density matrix (usually the number of electrons).:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type energy_value_out: float

  • energy_value_out – the energy of the system (optional).:type chemical_potential_out: float

  • chemical_potential_out – the chemical potential calculated.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

static TRS4(Hamiltonian, InverseSquareRoot, trace, Density, solver_parameters)

Compute the density matrix from a Hamiltonian using the TRS4 method. Based on the TRS4 algorithm presented in: ‘niklasson2002’ .:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type trace: float

  • trace – of the density matrix (usually the number of electrons).:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type energy_value_out: float

  • energy_value_out – the energy of the system (optional).:type chemical_potential_out: float

  • chemical_potential_out – the chemical potential calculated.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

property thisown

The membership flag

class NTPolySwig.FermiOperator

A Class For Solving Chemistry Systems Using the Fermi Operator Expansion.

static ComputeDenseFOE(Hamiltonian, InverseSquareRoot, trace, Density, inv_temp, solver_parameters)

Compute the density matrix using a dense solver.:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type trace: float

  • trace – of the density matrix (usually the number of electrons).:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type inv_temp: float

  • inv_temp – the inverse temperature.:type energy_value_out: float

  • energy_value_out – the energy of the system.:type chemical_potential_out: float

  • chemical_potential_out – the chemical potential calculated.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

static WOM_C(Hamiltonian, InverseSquareRoot, Density, trace, inv_temp, solver_parameters)

Compute the density matrix using wave operator minimization. Fixed number of electrons version.:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type trace: float

  • trace – the target trace of the matrix.:type inv_temp: float

  • inv_temp – the inverse temperature.:type energy_value_out: float

  • energy_value_out – the energy of the system.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

static WOM_GC(Hamiltonian, InverseSquareRoot, Density, chemical_potential, inv_temp, solver_parameters)

Compute the density matrix using wave operator minimization. Fixed chemical potential version.:type Hamiltonian: Matrix_ps

Parameters:
  • Hamiltonian – the matrix to compute the corresponding density from.:type InverseSquareRoot: Matrix_ps

  • InverseSquareRoot – of the overlap matrix.:type Density: Matrix_ps

  • Density – the density matrix computed by this routine.:type chemical_potential: float

  • chemical_potential – the chemical potential calculated.:type inv_temp: float

  • inv_temp – the inverse temperature.:type energy_value_out: float

  • energy_value_out – the energy of the system.:type solver_parameters: SolverParameters

  • solver_parameters – parameters for the solver

property thisown

The membership flag