Types

MatsubaraFunctions.PadeApproxType
struct PadeApprox{Q <: Number}

PadeApprox type with fields:

  • coeffs :: Vector{Q} : coefficients for continued fraction fit
  • xdat :: Vector{Q} : evaluation nodes for data
source
MatsubaraFunctions.PeriodicPulayType
struct PeriodicPulay{Q <: Number}

PeriodicPulay type with fields:

  • x :: Vector{Q} : solution vector
  • Fs :: Matrix{Q} : history for function evaluations
  • Xs :: Matrix{Q} : history for intermediate solutions
  • aerrs :: Vector{Float64} : absolute errors
  • rerrs :: Vector{Float64} : relative errors
source

Functions

MatsubaraFunctions.solve!Function
function solve!(
    f!      :: Function,
    P       :: PeriodicPulay{Q}
    ;
    p       :: Int64   = 3,
    iters   :: Int64   = 100,
    α       :: Float64 = 0.5,
    atol    :: Float64 = 1e-8,
    rtol    :: Float64 = 1e-8,
    verbose :: Bool    = false
    )       :: Nothing where {Q <: Number}

Runs the periodic Pulay solver. Here, f(x) = g(x) - x computes the residue for the fixed-point equation g(x) = x. f! should have the form (F, x) -> f!(F, x), such that the residue can be written into a pre-allocated array F. The following keyword arguments are supported:

  • p : Pulay period (every p-th iteration Pulay mixing is used)
  • iters : maximum number of iterations
  • α : mixing factor
  • atol : absolute error tolerance
  • rtol : relative error tolerance
  • verbose : show intermediate results?
source