Types
MatsubaraFunctions.PadeApprox — Typestruct PadeApprox{Q <: Number}PadeApprox type with fields:
coeffs :: Vector{Q}: coefficients for continued fraction fitxdat :: Vector{Q}: evaluation nodes for data
MatsubaraFunctions.PeriodicPulay — Typestruct PeriodicPulay{Q <: Number}PeriodicPulay type with fields:
x :: Vector{Q}: solution vectorFs :: Matrix{Q}: history for function evaluationsXs :: Matrix{Q}: history for intermediate solutionsaerrs :: Vector{Float64}: absolute errorsrerrs :: Vector{Float64}: relative errors
Functions
MatsubaraFunctions.coeffs — Functionfunction coeffs(
PA :: PadeApprox{Q}
) :: Vector{Q} where {Q <: Number}Returns PA.coeffs
MatsubaraFunctions.xdat — Functionfunction xdat(
PA :: PadeApprox{Q}
) :: Vector{Q} where {Q <: Number}Returns PA.xdat
MatsubaraFunctions.solve! — Functionfunction 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 factoratol: absolute error tolerancertol: relative error toleranceverbose: show intermediate results?