Models
For default model functions.
The ACFlow toolkit supports various model functions, such as flat, Gaussian, Lorentzian, and a few unusual models. They are useful for the MaxEnt
and StochAC
solvers. In order to build these model functions, we need some additional parameters, including $\Gamma$, $s$, $s_1$, and $s_2$. They should be setup by using the parameter pmodel
.
Contents
Index
ACFlow.build_1gaussian_model
ACFlow.build_1lorentzian_model
ACFlow.build_2gaussians_model
ACFlow.build_2lorentzians_model
ACFlow.build_file_model
ACFlow.build_flat_model
ACFlow.build_func_model
ACFlow.build_gaussian_model
ACFlow.build_lorentzian_model
ACFlow.build_risedecay_model
Flat Model
ACFlow.build_flat_model
— Functionbuild_flat_model(am::AbstractMesh)
Try to build a flat model in am
. Then this model function is normalized. Only this model function is suitable for the StochAC
solver.
Arguments
- am -> Real frequency mesh.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
Gaussian Models
This class includes the standard Gaussian model, shifted Gaussian model, and two-Gaussians model.
ACFlow.build_gaussian_model
— Functionbuild_gaussian_model(am::AbstractMesh, Γ::F64)
Try to build a Gaussian model, which is then normalized. The argument Γ
is used to control the width of the Gaussian peak.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control width of the peak.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
ACFlow.build_1gaussian_model
— Functionbuild_1gaussian_model(am::AbstractMesh, Γ::F64, s::F64)
Try to build a shifted Gaussian model, which is then normalized. The argument Γ
is used to control the width of the Gaussian peak, and s
means the shift of the central peak. If s > 0
, the peak is shifted to positive half-axis, and vice versa.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control width of the gaussian peak.
- s -> Distance of the peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
ACFlow.build_2gaussians_model
— Functionbuild_2gaussians_model(am::AbstractMesh, Γ::F64, s₁::F64, s₂::F64)
Try to build a Two Gaussians model, which is then normalized. The argument Γ
is used to control the width of the Gaussian peak, and s₁
and s₂
denote the centers of the two peaks.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control width of the gaussian peaks.
- s₁ -> Distance of the first peak from ω = 0.
- s₂ -> Distance of the second peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
Lorentzian Models
This class includes the standard Lorentzian model, shifted Lorentzian model, and two-Lorentzians model.
ACFlow.build_lorentzian_model
— Functionbuild_lorentzian_model(am::AbstractMesh, Γ::F64)
Try to build a Lorentzian model, which is then normalized. The argument Γ
is used to control the width of the Lorentzian peak.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control broadening of the lorentzian peak.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
ACFlow.build_1lorentzian_model
— Functionbuild_1lorentzian_model(am::AbstractMesh, Γ::F64, s::F64)
Try to build a shifted Lorentzian model, which is then normalized. The argument Γ
is used to control the width of the Lorentzian peak, and s
means the shift of the central peak. If s > 0
, the peak is shifted to positive half-axis, and vice versa.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control broadening of the lorentzian peak.
- s -> Distance of the peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
ACFlow.build_2lorentzians_model
— Functionbuild_2lorentzians_model(am::AbstractMesh, Γ::F64, s₁::F64, s₂::F64)
Try to build a Two-Lorentzians model, which is then normalized. The argument Γ
is used to control the width of the Lorentzian peak, and s₁
and s₂
denote the centers of the two peaks.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control broadening of the lorentzian peaks.
- s₁ -> Distance of the first peak from ω = 0.
- s₂ -> Distance of the second peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
Unusual Models
This class includes the Rise-And-Decay model, file model, and function model.
ACFlow.build_risedecay_model
— Functionbuild_risedecay_model(am::AbstractMesh, Γ::F64)
Try to build a Rise-And-Decay model, which is then normalized. This model function is defined on positive half-axis, so it is more suitable for the bosonic response function.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control rise and decay of the peak.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
ACFlow.build_file_model
— Functionbuild_file_model(am::AbstractMesh, fn::String)
Try to read a model function from external file (specified by fn
). Note that the mesh used to generate the model function must be compatible with am
. In addition, the model function will be normalized automatically.
Arguments
- am -> Real frequency mesh.
- fn -> Filename for external model function.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.
ACFlow.build_func_model
— Functionbuild_func_model(fun::Function, am::AbstractMesh, kwargs...)
Try to build a model function by customized function fun
. kwargs
denotes the arguments required by fun
. Actually, this feature does not really work.
Arguments
- fun -> A external funtion call to build the model function.
- am -> Real frequency mesh.
- kwargs -> Arguments that passed to
fun
.
Returns
- model -> Default model function, m(ω). ω is compatible with
am
.
See also: AbstractMesh
.