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?