Constraints functions
Functions
blm.AddConstraint
— MethodAddConstraint(; qp::QPConstrained, constraint::Function, kwargs...)
Add constraint to a QPConstrained object.
Arguments: qp (QPConstrained): instance of QPConstrained constraint (Function): which constraint to use kwargs (kwargs): keyword arguments for the particular constraint (skip nk and nl)
blm.ConstraintAKMMono
— MethodConstraintAKMMono(; nk::Int64, nl::Int64, gap::Union{Float64, Int64}=0)::QPConstrained
AKM mono constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types gap (int): FIXME
blm.ConstraintBiggerThan
— MethodConstraintBiggerThan(; nk::Int64, nl::Int64, gap::Union{Float64, Int64}=0, n_periods::Int64=2)::QPConstrained
Bigger than constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types gap (int): lower bound n_periods (int): number of periods in event study
blm.ConstraintFixB
— MethodConstraintFixB(; nk::Int64, nl::Int64, nt::Int64=4)::QPConstrained
Fix B constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types nt (int): FIXME
blm.ConstraintLinear
— MethodConstraintLinear(; nk::Int64, nl::Int64, nt::Int64=2)::QPConstrained
Linear constraint. for a set of coeficient nk x nl x nt this makes sure that
a_k1_l1_t - a_k2_l1_t = a_k1_l1_t - a_k2_l1_t
for all l1, t and 2 firms k1, k2
Arguments: nk (int): number of firm types nl (int): number of worker types n_periods (int): number of periods in event study
blm.ConstraintMonoK
— MethodConstraintMonoK(; nk::Int64, nl::Int64, gap::Union{Float64, Int64}=0)::QPConstrained
Mono K constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types gap (int): FIXME
blm.ConstraintNone
— MethodConstraintNone(; nk::Int64, nl::Int64)::QPConstrained
No constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types
blm.ConstraintPara
— MethodConstraintPara(; nk::Int64, nl::Int64, nt::Int64=2)::QPConstrained
Parallel constraint, worker get same wage everywhere. For a set of coeficient nk x nl x nt this makes sure that
a_k1_l_t = a_k2_l_t
for all l, t and 2 firms k1, k2
Arguments: nk (int): number of firm types nl (int): number of worker types n_periods (int): number of periods in event study
blm.ConstraintSmallerThan
— MethodConstraintSmallerThan(; nk::Int64, nl::Int64, gap::Union{Float64, Int64}=0, n_periods::Int64=2)::QPConstrained
Bigger than constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types gap (int): upper bound n_periods (int): number of periods in event study
blm.ConstraintStationary
— MethodConstraintStationary(; nk::Int64, nl::Int64)::QPConstrained
Stationary constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types
blm.ConstraintSum
— MethodConstraintSum(; nk::Int64, nl::Int64)::QPConstrained
Sum constraint.
Arguments: nk (int): number of firm types nl (int): number of worker types
blm.QPConstrainedSolve
— MethodQPConstrainedSolve(P::SparseMatrixCSC{Float64, Int64}, q::Vector{Float64}, qp::QPConstrained)
Solve constrained QP problem, min_x 0.5x'Px + q'x s.t. l <= Ax <= u. Arguments: P (Matrix): P matrix for QP problem q (Vector): q vector for QP problem constraint (Function): which constraint to use kwargs (kwargs): keyword arguments for the particular constraint
Contents
Index
blm.DistributionModel
blm.AddConstraint
blm.ConstraintAKMMono
blm.ConstraintBiggerThan
blm.ConstraintFixB
blm.ConstraintLinear
blm.ConstraintMonoK
blm.ConstraintNone
blm.ConstraintPara
blm.ConstraintSmallerThan
blm.ConstraintStationary
blm.ConstraintSum
blm.QPConstrainedSolve
blm.distributional_em!
blm.group_firms
blm.simulate